Расщепление канала в opencv и слияние c ++, python - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть следующий код на python:

h,s,v=cv2.split(img1)
for i in range(1920):
    for j in range(1080):
        if(v[i][j]<250):
            v[i][j]=0
img1=cv2.merge((h,s,v))
img1=cv2.cvtColor(img1,cv2.COLOR_HSV2BGR)
img1=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)

, когда я конвертирую этот код в код C ++, приведенный ниже, я получаю другой результат.

Mat gray,hsv[3];
split(gray,hsv);
for(int i=0;i<1920;i++)
    {
        for(int j=0;j<1080;j++)
        {
            if(hsv[2].at<unsigned char>(i,j)<250)
            {
                hsv[2].at<unsigned char>(i,j)=0;
            }
        }
    }
channels.push_back(hsv[0]);
channels.push_back(hsv[1]);
channels.push_back(hsv[2]);
merge(channels,gray);
cvtColor(gray,gray,COLOR_HSV2BGR);
cvtColor(gray,im1,COLOR_BGR2GRAY);

PS Игнорировать ";"ошибки, если таковые имеются.Код компилируется, должно быть опечатка.

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