如何在灰色区域增长明亮像素?OpenCV C++
How to grow bright pixels in grey region? OpenCV C++
如何在灰色区域增长明亮像素?
输入:图像
输出:图像
我的回答比我平时的努力要少一些帮助,但很难用这么少的努力来激发对问题的热情......
您可以使用OpenCV findContours()
来解决您的问题 - 此处的文档。您需要确保使用检索模式CV_RETR_TREE
。
然后,您需要编写一个循环,遍历找到的所有轮廓。在循环中,您需要寻找一个轮廓:
- a( 颜色为
white
并且, - b( 其父母有颜色
grey
。
这里有一个关于层次结构如何工作的体面解释。
Mat im = imread("ask.png", 0);
Mat mat;
mat = im==255;
findContours( mat, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE);
for( size_t i = 0; i< contours.size(); i++ )
{
floodFill(mat, contours[i].at(0), 255, 0, Scalar(128), Scalar(255), FLOODFILL_FIXED_RANGE);
}
mat = mat==255; // output image
相关文章:
- OpenCV 像素访问点与 at() - 不同的值
- OpenCV-如何将vale添加到图像一部分的所有像素
- 访问和更改基于另一个图像的像素颜色-opencv c++
- 在OpenCV中设置像素值(奇怪的结果)
- OpenCV 访问像素的颜色值
- 如何在OpenCV Cuda(GpuMat)中访问像素
- 如何使用 openCV 更改图像每个像素的颜色
- 如何在灰色区域增长明亮像素?OpenCV C++
- OPENCV C .在for循环中在不同的图像像素上绘制一个圆圈(应在每个循环运行时将图像打开)
- 为什么OpenCV返回像素强度的奇怪值
- 遍历区域并在 OpenCV 中获取平均像素值
- 如何使用opencv在不丢失像素的情况下对图像进行去扭曲
- opencv::Mat,从原始数据中获取像素值
- 在OpenCV中像素化实现
- 如何使用每 n 个像素 OpenCV 计算直方图
- 查找每个像素 OpenCV 的光流
- 访问指向像素openCV的指针时发生断言错误
- 获取白色像素 (OpenCV) 的坐标
- 处理轮廓中的像素(OpenCV)
- 有没有一种方法可以在同一张图像上同时拥有灰度和rgb像素opencv C++