我需要以非常具体的方式对图像应用阈值,所以我来到这里看看是否可能。
假设我有两张图片:一张源图片和一张图片。我想要的是采取源图像并使用阈值图像来过滤它。该操作将源图像的每个像素与阈值图像进行比较。我的像素是相同或更高的亮度,它会将其设置为白色。如果像素小于亮度,则将其设置为黑色。
以下是阈值图像的示例:
如果我可以澄清自己,请告诉我。
谢谢!
答案 0 :(得分:0)
一个简单的matrix expression将在这里完成工作。
这是一个已实现的矩阵运算列表,可以在任意复杂表达式中进行组合(此处
A
,B
代表矩阵(Mat
),s
表示标量(Scalar
),alpha
表示实值标量(double
):...
比较:
A cmpop B
,A cmpop alpha
,alpha cmpop A
,cmpop
之一是:>
,>=
,==
,!=
,<=
,<
。比较结果是一个8位单通道掩码,其元素设置为255(如果特定元素或元素对满足条件)或0。
因此,像下面的单行一样简单的事情可以满足您的要求:
cv::Mat result(source >= threshold);