gpt4 book ai didi

python - 检测二维图像中的标记 [Python/OpenCV]

转载 作者:太空狗 更新时间:2023-10-30 00:19:14 25 4
gpt4 key购买 nike

我想用 Python(使用 OpenCV 库)创建一个脚本来确定图片中有哪些标记。标记看起来像这样:

Markers

加载图像后,脚本应打印图片中有哪些标记(返回标记数)。例如,如果我加载这张图片:

Image with markers

对于这个图像,脚本应该返回三个数字:1、2 和 3。我有一个脚本,它加载图像并识别图形(圆圈、正方形等 - 在仅正方形下方的脚本中)但我不知道识别由多个数字组成的整个标记。有任何想法吗?请提供有关算法或任何解决方案的任何建议。

import numpy as np
import cv2

img = cv2.imread('B.jpg')
gray = cv2.imread('B.jpg',0)

ret,thresh = cv2.threshold(gray,120,255,1)

contours,h = cv2.findContours(thresh,1,2)

for cnt in contours:
approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)
print len(approx)
if len(approx)==4:
print "square"
cv2.drawContours(img,[cnt],0,(0,0,255))

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

但显然这不是我需要的,它只包围矩形。感谢您提供任何提示和帮助。

最佳答案

首先,我尝试使用特征匹配(@tfv 用户的提议),但这可能不是一个好的解决方案。在许多方法中,它给出的匹配太多(但图像完全不同)或匹配太少(当图像相同时)

Markers

现在我将尝试使用@Micka 的算法,但我对第二点和第三点有疑问。我上面帖子中的代码找到正方形。如何将新矩形保存为新图像?

enter image description here

关于python - 检测二维图像中的标记 [Python/OpenCV],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37037187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com