У меня есть следующий код на 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 Игнорировать ";"ошибки, если таковые имеются.Код компилируется, должно быть опечатка.