python - 识别图像目标线

标签 python image opencv crop image-recognition

我正在尝试编写一个脚本来查看图像、查看图像上的线条并在线条周围创建边界框。这就是我要说的......

我有这张图片: Image of Setup

我正在尝试找到一种使用脚本智能裁剪每个部分的方法。我想到的最好的主意是在每个部分周围贴上彩色胶带,如下所示: Image with tape

给定这张带有彩色胶带的图像,程序应该能够找到彩色线条并确定它们相交的位置。这是程序应该能够定位的视觉效果:(黑线是磁带所在的位置,红点是相交位置) Program view

这里的最终游戏是让程序能够使用这些数据

  1. 知道有多少个部分(在本例中为 9)
  2. 了解各个部分的位置并在每个部分周围创建一个边界框

视觉上是这样的: Image with cropped section bounding boxes

OpenCV 具有面部检测和特征检测功能,因此像这样的静态图像应该是很有可能的。实现这一目标的最佳方法是什么?

最佳答案

有很多方法可以做你想做的事。

一种是使用筛选:

https://docs.opencv.org/3.3.0/da/df5/tutorial_py_sift_intro.html

您将需要使用关键点检测,例如:

sift = cv2.SIFT()
kp = sift.detect(img,None)

您可以检查这些点是否正确: img2 = cv2.drawKeyPoints(kp)

然后你将需要使用 cv2.boundingRect

box = cv2.boundingRect(kp)

如果您的标记与图像的其余部分颜色不同,您只需制作滤色器即可找到这些点。

关于python - 识别图像目标线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50726744/

相关文章:

opencv - 如何根据当前检测到的椭圆找到更准确的椭圆

python - 为什么我的 Trackbar 的值总是 -1

python - 尝试将 csv 文件加载到雪花数据库时出现 "end of record reached while expected to parse column"错误

c# - 在电子邮件中嵌入背景图像

python - 如何在Python中依次播放音频文件的序列?

java - 自定义光标图标加载了一个额外的阴影像素

php - 使用php中的文件夹上传图像

java - Android JavaCV 困境,创建 IplImage 时在方法 'draw' 内部抛出 NoClassDefFoundError

python - 如何区分SpanSelector中的左右按钮?

python - 在 Python 中将每日股票数据转换为每周的 Pandas 数据