Получение среднего цвета изображения ВПГ для скрининга хлорофилла - PullRequest
0 голосов
/ 17 июня 2019

Я новичок в OpenCV и пытаюсь получить среднюю "зелень" листа на картинке. Я использую формат HSV и не могу понять, как усреднить пиксели, которые я выделил из всего изображения после применения порога.

есть идеи, как мне это сделать?

import cv2 
import numpy as np

def nothing(x):
    pass

while True:

    img = cv2.imread('leaves.jpg', 1)

    sub_img1 = img[300:417, 500:600]
    cv2.imwrite('sub1.jpg', sub_img1)

    #Transforming the img to HSV format

    hsv = cv2.cvtColor(sub_img1, cv2.COLOR_BGR2HSV)

    l_g = np.array([28, 52, 61])  #determining the lower limit for color thresholding (hue, saturation, value)
    u_g = np.array([59, 255, 255])     #determining the upper limit for color thresholding

    mask = cv2.inRange(hsv, l_g, u_g)
    res = cv2.bitwise_and(sub_img1, sub_img1, mask=mask)


    cv2.imshow("original", img)
    cv2.imshow("img", sub_img1)
    cv2.imshow("mask", mask)
    cv2.imshow("res", res)

    key = cv2.waitKey(1) & 0xFF
    if key == 27:
        break

cv2.destroyAllWindows()

1 Ответ

0 голосов
/ 18 июня 2019
average_hsv = cv2.mean(hsv,  mask)[:3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...