2
我試圖用C#使用EmguCV 2.2來檢測此圖像中的圓圈,但沒有任何運氣。EmguCV和OpenCV中的HoughCircles之間有什麼區別?
使用的OpenCV與CV2蟒包下列代碼正確地發現上述圖像中的8圈:
img = cv2.imread('test2.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray, cv2.cv.CV_HOUGH_GRADIENT, 1, 10, param1=15, param2=10, minRadius=5, maxRadius=5)
爲了簡潔我將省略代碼以圓圈繪製到IMG ,但參考的輸出 - 假設我用cv2.circle來填充每個發現圓,綠色,看起來像:
但是我似乎無法找到使用C#的那些相同的圓圈。
我打得四處相當的參數,而是試圖代碼,如下面的圖像中沒有找到任何圈子:
var gray = new Image<Gray, byte>("test2.png");
var circles = gray.HoughCircles(
accumulatorThreshold: new Gray(16), dp: 1,
cannyThreshold: new Gray(9),
minDist: 10, minRadius: 4, maxRadius: 6)[0];
任何發現的8圈與C#的幫助將不勝感激!
在此先感謝您的幫助!