【发布时间】:2019-09-25 09:53:39
【问题描述】:
我刚刚开始使用 OpenCVSharp,我正在尝试将一些 OpenCV 示例程序转换为 C#。我不确定如何从 squares.cpp 转换这一行:
gray = gray0 >= (l + 1) * 255 / N;
这一行给出了错误
运算符'>='不能应用于'Mat'和'int'OpenCVSharpTest类型的操作数
gray 和 gray0 都是 Mat 实例。 l 和 N 是 int。
【问题讨论】:
-
@EdPlunkett 这是与标量的矢量化比较。结果应该是另一个
Mat,0s和255s代表false/true(基本上是一个多维数组)。 -
@DanMašek 天哪。这是否意味着表达有意义?
-
@EdPlunkett 是的,它正在对图像进行阈值处理——对图像中的所有 (x,y) 执行
gray(x,y) = gray0(x,y) < ((l+1)*255/N) ? 255 : 0。比较的右边是得到几个等距的阈值水平(它在一个循环中)。 -
@DanMašek 这两个都有效,谢谢。如果您将其发布为答案,我会接受。这是我使用 OpenCVSharp 的第二天,所以我还在摸索。
标签: c# opencv opencvsharp