Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opencv中的InRange方法与python/cv2和c#/emgu有什么区别?_C#_Python_Opencv_Emgucv - Fatal编程技术网

opencv中的InRange方法与python/cv2和c#/emgu有什么区别?

opencv中的InRange方法与python/cv2和c#/emgu有什么区别?,c#,python,opencv,emgucv,C#,Python,Opencv,Emgucv,我正在尝试用C#将一个小型opencv python脚本转换为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) 正确设置c

我正在尝试用C#将一个小型opencv python脚本转换为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版本正常工作,我们将不胜感激!!谢谢

问题似乎是我使用的是一个旧版本的emgu,并且是按照emgu的2.4文档进行的,在该文档中,上述内容应该可以工作

在我使用的版本(2.2)中,以下工作:

var min = new Hsv(103, 33, 254);
var max = new Hsv(125, 35, 256);
var thresh = hsvImg.InRange(min, max);
CvInvoke.cvShowImage("thresh", thresh);
而不是检查by=它正在使用<和>

这是我的错,不小心点击了NuGet中的错误包。。。更多始终使用命令行的原因;)