【发布时间】:2020-10-22 01:31:06
【问题描述】:
我想获取第二个矩形以及三个彩色矩形顶部的黑色粗体文本的 (x,y) 坐标。
我已经准备好了面具,除了我无法弄清楚的黑色文本的面具。但是,文本总是在矩形的顶部,所以如果我能够找出底部大矩形的位置,我也会得到文本的位置。
我尝试使用基于this comment 的 ConnectedComponents 函数,但除了对各种对象进行着色和分组之外,我没有设法继续前进,所以我没有在下面包含那个 sn-p 以使事情变得清晰可能。
到目前为止,这是我的代码:
import cv2
import numpy as np
import imutils
PATH = "stackoverflow.png"
img = cv2.imread(PATH)
imgHSV = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
mask_border = cv2.inRange(imgHSV,np.array([0,0,170]),np.array([0,0,175]))
mask_green = cv2.inRange(imgHSV,np.array([76,221,167]),np.array([76,221,167]))
mask_pink = cv2.inRange(imgHSV,np.array([168,41,245]),np.array([172,41,252]))
mask_red = cv2.inRange(imgHSV,np.array([4,207,251]),np.array([4,207,251]))
#mask_black = ???
all_masks = cv2.bitwise_or(mask_border, mask_green)
all_masks = cv2.bitwise_or(all_masks, mask_pink)
all_masks = cv2.bitwise_or(all_masks, mask_red)
cv2.imshow("Masks", all_masks)
imgResult = cv2.bitwise_and(img,img,mask=all_masks)
cv2.imshow("Output", imgResult)
cv2.waitKey(0)
【问题讨论】:
标签: python opencv image-processing