次の画像で輪郭領域を見つけて計算しようとしています。
目標は、画像に表示されているすべてのドットを削除することです。これにより、ブロブは、指定した値よりも小さい領域で輪郭が描かれます。
どうすればこれを設定できますか?
これは私が使用したコードです...
import cv2
im = cv2.imread('source.png')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
img = cv2.drawContours(im, contours, -1, (0,255,0), 1)
cv2.imshow('contour',img)
cv2.waitKey(0)
cv2.imwrite('contour.png',img)
...そしてこれはソース画像です:
ありがとうございました
cv2.contourArea()
どちらを描画するかを決定するために使用できます。
for contour in contours:
if cv2.contourArea(contour) < 80:
cv2.drawContours(im, contour, -1, (255, 255, 255), 3)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加