我正在尝试将视频中的 HSV 帧传递给函数,但函数似乎对它没有任何作用。我究竟做错了什么?该函数应该遍历每个像素,并根据其色调范围使其变为黑色或白色,给我留下一个二值图像。相反,它似乎根本不会影响 HSV 图像......
感谢 PS 抱歉代码格式错误,StackOverflow 不允许我发布原始格式。
void sort (IplImage *skinmask)
{
for (int row=0; row<=skinmask->height;row++)
{
uchar* pixelrow=(uchar*)(skinmask->imageData+(row*(skinmask->widthStep)));
for (int column=0; column<=skinmask->width; column++)
{
if (6<pixelrow[3*column]<36)
{
pixelrow[3*column]=256;
pixelrow[(3*column)+1]=256;
pixelrow[(3*column)+2]=256;
}
else
{
pixelrow[3*column]=0;
pixelrow[(3*column)+1]=0;
pixelrow[(3*column)+2]=0;
}
column++;
}
row++;
}
cvMorphologyEx(skinmask,skinmask,NULL,NULL,CV_MOP_CLOSE,1);
}