Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用特定颜色opencv在图像中填充形状_C++_C_Opencv_Image Processing_Image Segmentation - Fatal编程技术网

C++ 使用特定颜色opencv在图像中填充形状

C++ 使用特定颜色opencv在图像中填充形状,c++,c,opencv,image-processing,image-segmentation,C++,C,Opencv,Image Processing,Image Segmentation,我有这个图像 我想用白色填充多边形。我试过fillpoly,但没能成功。有什么想法吗?我在C++中使用OpenCV 3。< /P> < P>尝试下面的代码来填充具有WHIT颜色的封闭对象。 cv::Mat edgesIn; cv::Mat edgesNeg =temp.clone(); // imshow( "edgesNeg", edgesNeg ); cv::floodFill(edgesNeg, cv::Point(0,0), CV_RGB(255,255,255)); i

我有这个图像


我想用白色填充多边形。我试过fillpoly,但没能成功。有什么想法吗?我在C++中使用OpenCV 3。< /P> < P>尝试下面的代码来填充具有WHIT颜色的封闭对象。
 cv::Mat edgesIn; 
 cv::Mat edgesNeg =temp.clone();
 //  imshow( "edgesNeg", edgesNeg );
 cv::floodFill(edgesNeg, cv::Point(0,0), CV_RGB(255,255,255));
 imshow( "edgesNeg", edgesNeg );
 bitwise_not(edgesNeg, edgesNeg);
 filledEdgesOut = (edgesNeg | temp);
 imshow("Filled region",filledEdgesOut);

这是一个有趣的问题,我想我会在命令行中尝试使用ImageMagick,但您可以很容易地将该技术应用到OpenCV。我怀疑它可能与@Arjun的代码类似,但我无法轻松阅读

我将分三步完成,每一步都是在最后一步的基础上进行的,但实际上您只需要最后一行命令

首先,从左上角开始用黄色填充图像:

convert shapes.png -fill yellow -draw 'color 0,0 floodfill' result.png

现在将填充颜色设置为白色,并用白色填充颜色覆盖所有黑色区域:

convert shapes.png -fill yellow -draw 'color 0,0 floodfill' -fill white -opaque black result.png
convert shapes.png -fill yellow -draw 'color 0,0 floodfill' -fill white -opaque black -fill black -opaque yellow result.png

现在将填充颜色设置为黑色,并用黑色填充颜色覆盖黄色区域:

convert shapes.png -fill yellow -draw 'color 0,0 floodfill' -fill white -opaque black result.png
convert shapes.png -fill yellow -draw 'color 0,0 floodfill' -fill white -opaque black -fill black -opaque yellow result.png

请显示您尝试的代码