[img]https:/ /i.sstatic.net/0bkopmEC.png[/img]
Иногда он выбирает странную область других фигур, окружающих черные пиксели, например на прикрепленном рисунке
Я также могу знать, что контрастность изображения не в порядке... но я просто хочу игнорировать некоторые большие значения контуров, а также у меня возникла проблема с обнаружением нескольких контуров в частности, как дублированный (дублированный текст .. (поэтому я хотел бы удалить любой дублированный текст), как прикреплено
.
подскажите, пожалуйста, что делать, чтобы избежать такой проблемы? Я отредактировал код
Спасибо
import cv2
from matplotlib import pyplot as plt
import numpy as np
# Read image
img = cv2.imread('test_shapes.png')
out=img.copy()
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
smoothed=cv2.GaussianBlur(gray,(0,0),9,9,cv2.BORDER_DEFAULT)
# Use fixed threshold to mask black areas
_, thresh = cv2.threshold(smoothed,255,cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY_INV)
contours,_=cv2.findContours(thresh,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_SIMPLE)
for i,cnt in enumerate(contours):
area=cv2.contourArea(cnt)
x,y,w,h=cv2.boundingRect(cnt)
x_=int(x+w/3)
y_=int(y+h/1.5)
if 1
Подробнее здесь: https://stackoverflow.com/questions/791 ... ple-contou