捕虫シートに捕まった虫のカウントをしようと思って以下のプログラムを書いてみました。
実際にカウントはできましたが、虫が連なりあってるところが1つにカウントされています。
画像を添付しようとはしたのですが容量的に添付できませんでした。
カメラの精度の問題もあるかと思いますが、プログラムで工夫できるところがあれば教えていただきたいです。
ご協力よろしくお願いいたします。
import cv2 #OpenCVのインポート fname=""#開く画像ファイル名 threshold=130 #二値化閾値 img_color= cv2.imread(fname) #画像を読み出しオブジェクトimg_colorに代入 img_gray = cv2.imread(fname,cv2.IMREAD_GRAYSCALE) #画像をグレースケールで読み出しオブジェクトimg_grayに代入 ret, img_binary= cv2.threshold(img_gray, threshold, 255, cv2.THRESH_BINARY) #オブジェクトimg_grayを閾値threshold(127)で二値化しimg_binaryに代入 contours, hierarchy = cv2.findContours(img_binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) #img_binaryを輪郭抽出 cv2.drawContours(img_color, contours, -1, (0,0,255), 2) #抽出した輪郭を赤色でimg_colorに重ね書き print(len(contours)) #抽出した輪郭の個数を表示する size=(1500,800) re_img=cv2.resize(img_color,size) cv2.imshow("contours",re_img) #別ウィンドウを開き(ウィンドウ名 "contours")オブジェクトimg_colorを表示 waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
回答1件
あなたの回答
tips
プレビュー