Среднее значение серого сегментированной области исходного изображенияPython

Программы на Python
Anonymous
Среднее значение серого сегментированной области исходного изображения

Сообщение Anonymous »

Успешно сегментировать нужные области, но как определить оттенки серого этих областей отдельно в исходном изображении, а не в двоичном? Пытался найти контуры, но сплошных линий не получается.

Код: Выделить всё

import opencv as cv
import numpy as np
img = imread(fileName)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray_blur = cv2.GaussianBlur(gray, (5, 5), 0)

ret,thresh = cv.threshold(gray_blur,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)

kernel = np.ones((15,15), np.uint8)
close = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel)

kernel = np.ones((8,8), np.uint8)
opening = cv2.morphologyEx(close, cv2.MORPH_OPEN, kernel)

cont_img = close.copy()
contours, hierarchy = cv2.findContours(cont_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
loe= []

for cnt in contours:
area = cv2.contourArea(cnt)
if area < 500 or area > 4000000:
continue
if len(cnt) < 5:
continue
ellipse = cv2.fitEllipse(cnt)
loe.append(ellipse)
cv2.drawContours(img, [cnt], 0, (0,255,0),2)
cv2.ellipse(img, ellipse, 0, 5,2)

cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.resizeWindow('img', 1000, 750)

cv2.imshow("img", img)
сегментировано:
Изображение

оригинал:
Изображение

с контурами:
[img]https://i.stack.imgur. com/L2P47.jpg[/img]


Подробнее здесь: https://stackoverflow.com/questions/782 ... inal-image

Вернуться в «Python»