首先,現在我正在用Python2.7和Opencv進行斑點檢測。我想要做的是在顏色檢測後完成斑點檢測。我想檢測紅色圓圈(標記),併爲了避免其他斑點干擾,我想先做顏色檢測,然後做斑點檢測。爲什麼不能在這個二進制圖像上做斑點檢測
和顏色檢測後的圖像是binary mask
現在我想這樣做,圖像斑點檢測,但它不工作。 這是我的代碼。
import cv2
import numpy as np;
# Read image
im = cv2.imread("myblob.jpg", cv2.IMREAD_GRAYSCALE)
# Set up the detector with default parameters.
params = cv2.SimpleBlobDetector_Params()
# Change thresholds
params.minThreshold = 10; # the graylevel of images
params.maxThreshold = 200;
params.filterByColor = True
params.blobColor = 255
# Filter by Area
params.filterByArea = False
params.minArea = 10000
detector = cv2.SimpleBlobDetector(params)
# Detect blobs.
keypoints = detector.detect(im)
# Draw detected blobs as red circles.
# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures the size of the circle corresponds to the size of blob
im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
# Show keypoints
cv2.imshow("Keypoints", im_with_keypoints)
cv2.waitKey(0)`
我真的被這個代碼迷惑,因爲它這個圖像white dots 我覺得白點的圖像是用二進制掩碼安靜相似,但爲什麼不能我的二值圖像上做污點檢測?可以在工作任何人告訴我的區別或正確的代碼?
謝謝!
問候, 楠
我需要一些額外的信息來幫助我,我想。爲什麼它可能不起作用的線索可能是斑點的結構。在第一幅圖像中,白色像素並非全部連接到一個大斑點(意味着有幾個單像素「浮動」),而在第二幅圖像中,這些圓形是完美的斑點。 – meetaig