opencv如何提取彩色的前景?谢谢!

找的程序提取的前景都是二值化的。您是高手,能不能帮帮我?
2025-04-27 07:42:17
推荐回答(2个)
回答1:

您可以这样,既然你提取了二值化的前景binaryImage,那么您另外创建一个图片colorimage,当二值化图片白色点处,您就把当前帧frameImage的像素值给colorImage,代码如下
CvScalar s,s1;
binaryImage=cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);
colorImage=cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,3);
for(int=0;iheight;i++)
{
s1=cvGet2D(binaryImage);
if( s1.val[0]==255)
{s=cvGet2D(frameImage,i,j);
cvSet2D(colorImge,i,j,s)
}

}

回答2:

二值化只是定区域,可以根据这个区域到原彩色图像中提取彩色前景