#opencv #opencv-contour
#opencv #opencv-контур
Вопрос:
Я хотел бы нарисовать большой прямоугольник вокруг красных предложений красного цвета, как на прикрепленном изображении. Я смог нарисовать несколько прямоугольников вокруг каждого символа. Возможно ли объединить пересекающиеся прямоугольники в один большой прямоугольник?
Вот мой код:
image = cv2.imread('test-opencv.png')
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
lower = np.array([0, 50, 20])
upper = np.array([5, 255, 255])
mask = cv2.inRange(hsv, lower, upper)
cv2.imwrite('mask3.jpg', hsv)
# Gen lower mask (0-5) and upper mask (175-180) of RED
mask1 = cv2.inRange(hsv, (0, 50, 20), (5, 255, 255))
mask2 = cv2.inRange(hsv, (175, 50, 20), (180, 255, 255))
# Merge the mask and crop the red regions
mask = cv2.bitwise_or(mask1, mask2)
croped = cv2.bitwise_and(image, image, mask=mask)
ret, thresh = cv2.threshold(mask, 0, 255, 0)
contours, hierarchy = cv2.findContours(thresh, 3, 5)
for cnt in contours:
x, y, w, h = cv2.boundingRect(cnt)
image = cv2.rectangle(image, (x, y), (x w 10, y h 10), (0, 255, 0), 2)
cv2.imshow("mask", image)
cv2.waitKey()
Комментарии:
1. пожалуйста, также загрузите исходное изображение
2. @sturkmen пожалуйста, проверьте