1
我想將一個小的opencv python腳本轉換爲emgu與C#。opencv中的InRange方法與python/cv2和c#/ emgu有什麼區別?
在Python代碼
COLOR_MIN = np.array([104, 34, 255], np.uint8)
COLOR_MAX = np.array([124, 34, 255], np.uint8)
frame_threshed = cv2.inRange(hsv_img, COLOR_MIN, COLOR_MAX)
cv2.imshow("frame thresh", frame_threshed)
正確閾值是由cv2.imshow顯示的圖像。
我已經轉換代碼C#如下:
var min = new Hsv(104, 34, 255);
var max = new Hsv(124, 34, 255);
var thresh = hsvImg.InRange(min, max);
CvInvoke.cvShowImage("thresh", thresh);
這裏只有黑色圖像繪製 - 所以似乎沒有被匹配的門檻。
在這兩種情況下,我都使用相同的.PNG文件作爲輸入。我在osx上編寫了python代碼,而.net代碼在win8虛擬機內部運行 - 這可能與顏色配置文件有關嗎?
任何提示或嘗試讓.NET版本工作的東西將不勝感激!謝謝!