Jak mogę rozpoznać drzewa na obrazie? Użyłem tego kodu, ale nie znalazłem na obrazie żadnego różu małego drzewa.
Spodziewam się, że jeśli dam taki obraz jako wejściowego, zostanie rozpoznany wniosek różanego drewna.
Oprócz tej metody, czy masz jakieś sugestie na temat rozpoznawania drzewa różanego????
dane wejściowe:
oczekiwany wynik (oznaczone ręcznie)
Kod:
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)
kod wyjściowy:
print(contours)
()
Problem w tym, że drzewa nie jest rozpoznawany