Opencv-python: Ako rozpoznať ružové drevo v obraze?

0

Otázka

Ako možno rozpoznať, ružové drevo v obraze? Použil som tento kód, ale nenašiel som žiadnu malé ružové drevo v obraze.

Očakával som, že ak mám taký obraz ako vstup, výstup ružové drevo bude uznaná.

Iné, než to metóda, máte návrh na rozpoznávanie ružové drevo????

vstup:

výstup očakáva (Manuálne označená)

Kód:

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)

výstupný Kód:

print(contours)
()

Problém je, že ružové drevo nie je rozpoznaný

1

Najlepšiu odpoveď

1

Zmeniť svoj HSV dolná a horná hranica, ako je to uvedené nižšie:

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

Ďakujem za odpoveď. To bola odpoveď. Jedna otázka, prečo ste si vybrali práve túto farbu? [170,255,255]
M. Farzalizadeh

Len hrať s tými, HSV rozsahu.Normálne HSV rozsah:H = 0-360, S = 0-100 a V = 0 na 100. Opencv HSV rozsah: H: 0-179, S: 0-255, V: 0-255.Rôzne aplikácie používajú rôzne váhy pre HSV. Nájdete podobný problém[stackoverflow.com/questions/10948589/...
Nishani Kasineshan

V iných jazykoch

Táto stránka je v iných jazykoch

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