OpenCV:检测一个区域中的黑到白渐变

标签 opencv augmented-reality convolution photogrammetry

我上传了一张示例图片以便更好地理解:http://www.imagebanana.com/view/kaja46ko/test.jpg

在图像中,您可以看到一些扫描线和一个标记(带有圆圈的白色矩形)。我希望 OpenCV 沿着指定区域(在示例中通过扫描线勾勒出的轮廓)移动,该区域应该在 5x5 左右。如果该区域包含从黑到白的渐变,我希望 OpenCV 保存该区域的位置,以便我以后可以使用它。

最终结果将是区分标记和其他通过黑白线分隔的重新缠结。

这样的事情可能吗?我在谷歌上搜索了很多,但我只找到了边缘检测器,但这不是我想要的,我真的只需要检测黑色到白色的渐变。

提前致谢。

最佳答案

最好通过计算直方图来过滤掉一些区域。 您可以使用 cvCalcHist 来完成任务,然后您可以建立一些阈值来确定黑白像素百分比是否与渐变的百分比相对应。这不会解决任务,但会帮助您降低复杂性。

然后,您可以腐 eclipse 图像以合并所有白色区域。应用阈值后,将有可能找到连接的组件(使用 cvFindContours),它们将在黑色区域或白色区域中分离图像。然后,您可以通过查找同时包含一 block 白色区域和一 block 黑色区域的 5x5 区域来检测渐变。

希望对你有帮助。

关于OpenCV:检测一个区域中的黑到白渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3406666/

相关文章:

augmented-reality - 如何在定制的 Snapdragon 板上运行 ARcore?

swift - 使用 RealityKit 2.0 将自定义纹理应用到 Plane 实体

swift - SCNVector4 : Rotate on x-axis

python - scipy convolve2d 输出错误的值

python - 使用 Wav 文件进行卷积房间脉冲响应 (python)

python - Python OpenCV-如何删除窗口边框和标题

java - OpenCV 无法打开视频 Windows 8.1

padding - PyTorch 中的自定义卷积核和环形卷积

python-3.x - ImportError :/usr/lib/aarch64-linux-gnu/libgomp. so.1: 无法在静态 TLS block 中分配内存

python-3.x - 如何使用opencv多次更改图像中4个像素的颜色?