Opencv-python: Как распознать розовое дерево на изображении?

0

Вопрос

Как я могу распознать розовое дерево на изображении? Я использовал этот код, но я не нашел на изображении никакого розового маленького дерева.

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

Помимо этого метода, есть ли у вас какие-либо предложения по распознаванию розового дерева????

входные данные:

ожидаемый результат (отмечен вручную)

Код:

import numpy as np


import cv2
from cv2 import *
im = cv2.imread(imagePath)

im = cv2.bilateralFilter(im,9,75,75)
im = cv2.fastNlMeansDenoisingColored(im,None,10,10,7,21)
hsv_img = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)   # HSV image


COLOR_MIN = np.array([233, 88, 233],np.uint8)       # HSV color code lower and upper bounds
COLOR_MAX = np.array([241, 82, 240],np.uint8)       # color pink 

frame_threshed = cv2.inRange(hsv_img, COLOR_MIN, COLOR_MAX)     # Thresholding image
imgray = frame_threshed
ret,thresh = cv2.threshold(frame_threshed,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
print(contours)
for cnt in contours:
    x,y,w,h = cv2.boundingRect(cnt)
    print(x,y)
    cv2.rectangle(im,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imwrite("extracted.jpg", im)

выходной код:

print(contours)
()

Проблема в том, что розовое дерево не распознается

1

Лучший ответ

1

Измените нижнюю и верхнюю границы вашего ВПГ, как показано ниже:

COLOR_MIN = np.array([130,0,220],np.uint8)    
COLOR_MAX = np.array([170,255,255],np.uint8)  

enter image description here

2021-11-22 21:03:20

Спасибо вам за ваш ответ. Это был ответ. Один вопрос, почему вы выбрали этот цвет? [170,255,255]
M. Farzalizadeh

Просто поиграйте с этим диапазоном ВПГ.Нормальный диапазон ВПГ:H = 0-360, S = 0-100 и V = 0-100. Диапазон ВПГ Opencv: H: 0-179, S: 0-255, V: 0-255.В разных приложениях используются разные шкалы для ВПГ. Обратитесь к аналогичной проблеме[stackoverflow.com/questions/10948589/...
Nishani Kasineshan

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................