c++ - 如何选择像魔杖一样的区域并使用 OpenCV 对其进行洪水填充?

标签 c++ opencv flood-fill

我已经扫描过纸张,但由于扫描仪的原因,图像周围有黑色区域。

我想在 openCV c++ 中将它们涂成白色。

我认为我应该选择它们并用洪水填充它们,因为我知道 [0 0] 在那个区域。

我该怎么做?

我已经尝试过 cvblobslib_OpenCV_v8_3OpenCV 2.2 但它不起作用,因为我认为它们之间的版本不匹配。

这是我的部分代码:

cv::threshold(morphed,morphedbw,128,255,CV_THRESH_BINARY);
CBlobResult blobs;
IplImage xmorhped=morphedbw;
blobs = CBlobResult(&xmorhped , &xmorhped, 0 );
CBlob myblob=blobs.GetBlob(0);

最佳答案

     cv::floodFill(image, cv::Point(x,y), cv::Scalar(255.0,255.0,255.0));

用白色填充图像,从点 (x,y) 开始。

关于c++ - 如何选择像魔杖一样的区域并使用 OpenCV 对其进行洪水填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17961054/

相关文章:

c++ - 从模板函数返回的特征矩阵改变值

c++ - 计算轮廓的 x,y 轴长度

C++11 默认类成员初始化与初始化列表,同时

c++ - 由于捕获缓冲区,OpenCV VideoCapture 滞后

java - 使用 floodfill 计算矩阵中的相邻零点

带有洪水填充的 C++ 段错误

c++ - 从 C++ 中的位数组/位图中读取字段

python - opencv cascade.detectMultiScale 创建错误 : (-215) ! empty()

java - OpenCV(Java)子垫似乎没有与父垫共享缓冲区?

algorithm - 用于车牌识别的洪水填充