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版本工作的东西将不胜感激!谢谢!