Размер строки результата cv :: fitLine - PullRequest
0 голосов
/ 25 октября 2019

Я хочу уместить линию от контура. Результатом функции fitline () является двухмерный вектор (resultLine) с 4 элементами: vx, vy, x0, y0. Делая resultLine.size () я получаю [1x4], что имеет смысл, учитывая документацию. Поэтому я не понимаю, что делает эта строка кода:

resultLine.at (i, j, 0);

, где «i» идет от 0: 1080 и «j»0: 255

Я получил этот код от другого человека, и я пытаюсь выяснить, что делает кусок кода.

Пример:

cv::Mat& img
std::vector<cv::Mat> contours;
cv::Mat resultLine;
cv::cvtColor(img, grey,cv::COLOR_BGR2GRAY);
cv::threshold(grey, thresh, 19, 255, cv::THRESH_BINARY);
cv::findContours(thresh, contours, cv::RETR_LIST, cv::CHAIN_APPROX_SIMPLE);

for(int t = 0; t < contours.size(); t++){
    cv::fitLine(contours[t], resultLine, cv::DIST_L2, 0, 0.01, 0.01);
}

for (int i = (img.rows-1); i > (img.rows / 2); i = i - 5){
    for (int j = 0; j < img.cols; j++) { //goes across the images
        if(img.at<uchar>(i, j, 0) != resultLine.at<uchar>(i, j, 0)){
        ...}
    }
}

Эта последняя строка - условие, которое я не понимаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...