[英]How to find the coordinates of a rectangle in an image in Python?
我在图像中有一个文本,它周围有一个边界框,如下所示:
我想要做的是找到左上角和右下角的坐标来计算矩形的对角线。 我没有在 python 库中找到任何特别的东西。 这是矩形的代码:
image = cv2.imread('output.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (9,9), 0)
thresh =
cv2.adaptiveThreshold(blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY_INV,11,30)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (9,9))
dilate = cv2.dilate(thresh, kernel, iterations=4)
cnts = cv2.findContours(dilate, cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
ROI_number = 0
for c in cnts:
area = cv2.contourArea(c)
if area > 10000:
x,y,w,h = cv2.boundingRect(c)
boundbox = cv2.rectangle(image, (x, y), (x + w, y + h),
(36,255,12), 3)
有任何想法吗? 先感谢您!
如果你有图像数组,你可以编写一个算法,首先水平扫描每行数组,然后垂直搜索你正在寻找的 y 和 x 的坐标。 这是一个 RGB 图像,矩形看起来非常明显并且对比度很好,所以我建议您首先提取图像的“G”,为此您必须抽取阵列以提取图像的绿色部分图像,然后运行一个 for 循环,在该行或该列中寻找具有您喜欢的强度值的一定数量的像素,然后返回您找到它的索引作为坐标。
此致
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.