我有一个源图像。我需要从中分割出一个特定的部分并将其保存为另一个图像。我有需要分割的部分的精巧轮廓,但是如何使用它从源图像中剪切部分?我已经附上了源图像和精明的边缘轮廓。请帮助我并建议我一个解决方案。
EDIT-1:Alexander Kondratskiy,这就是您填写边界的意思吗?
现在如何将轮廓外部和内部的区域分成两个单独的图像?
编辑3-我想到了“和”蒙版和轮廓线源图像。由于我使用的是C,所以我遇到了一些困难。这是我使用的代码,并且:-
hsv_gray = cvCreateImage( cvSize(seg->width, seg->height), IPL_DEPTH_8U, 1 );
cvCvtColor( seg, hsv_gray, CV_BGR2GRAY );
hsv_mask=cvCloneImage(hsv_gray);
IplImage* contourImg =cvCreateImage( cvSize(hsv_mask->width, hsv_mask->height), IPL_DEPTH_8U, 3 );
IplImage* newImg=cvCreateImage( cvSize(hsv_mask->width, hsv_mask->height), IPL_DEPTH_8U, 3 );
cvAnd(contourImg, hsv_mask,newImg,NULL);
我总是收到大小或类型不匹配的错误。我调整了大小,但似乎无法调整类型,因为一个(hsv_mask)是 1 个通道,其他是 3 个通道。
@kanat-我也尝试了您的 boundingrect,但似乎无法以 C 格式正确输入。