识别图像目标线
Recognizing Image Target Lines
我正在尝试编写一个脚本来查看图像、查看图像上的线条并在线条周围创建边界框。这就是我要说的...
我有这张图片:
我正在尝试找到一种使用脚本智能裁剪每个部分的方法。我想到的最好的主意是在每个部分周围贴上彩色胶带,如下所示:
给定这张带有彩色胶带的图像,程序应该能够找到彩色线条并确定它们相交的位置。这是程序应该能够定位的视觉效果:(黑线是磁带所在的位置,红点是相交位置)
这里的结局是程序能够使用这些数据
- 知道有多少个部分(在本例中为 9)
- 了解各个部分的位置并在每个部分周围创建一个边界框
视觉上是这样的:
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)
如果您的标记与图像的其余部分颜色不同,您只需制作滤色器即可找到这些点。
我正在尝试编写一个脚本来查看图像、查看图像上的线条并在线条周围创建边界框。这就是我要说的...
我有这张图片:
我正在尝试找到一种使用脚本智能裁剪每个部分的方法。我想到的最好的主意是在每个部分周围贴上彩色胶带,如下所示:
给定这张带有彩色胶带的图像,程序应该能够找到彩色线条并确定它们相交的位置。这是程序应该能够定位的视觉效果:(黑线是磁带所在的位置,红点是相交位置)
这里的结局是程序能够使用这些数据
- 知道有多少个部分(在本例中为 9)
- 了解各个部分的位置并在每个部分周围创建一个边界框
视觉上是这样的:
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)
如果您的标记与图像的其余部分颜色不同,您只需制作滤色器即可找到这些点。