Здравствуйте.
Требуется распознать на изображении "кляксы" белого цвета (и его оттенки): подсветить области "клякс" на изображении и подсчитать в процентном соотношении площадь "клякс" от общего размера изображения.
import cv2 as cv
import numpy as np
h_min = np.array((50, 50, 50), np.uint8)
h_max = np.array((255, 255, 255), np.uint8)
img = cv.imread(r'C:\\1.jpg')
hsv = cv.cvtColor( img, cv.COLOR_BGR2HSV )
thresh = cv.inRange( hsv, h_min, h_max )
contours, hierarchy = cv.findContours( thresh.copy(), cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
cv.drawContours( img, contours, -1, (255,0,0), 3, cv.LINE_AA, hierarchy, 1 )
cv.imshow('result', img)
cv.waitKey(234234)
Клякса всегда окружена черной границей.
В данном случае как лучше поступать, проводить морфологическую обработку изображения, чтобы сгладить шумы для лучшего поиска клякс? Хоть и "клякса" в оттенках белого цвета, но она не однотонная. Как брать в расчёт только кляксы, которые окружены черной границей, искать черные объекты, а потом только внутри них искать мои "кляксы"?
Спасибо.