c++ - openCV AdaptiveThreshold 与 Otsu 阈值。投资返回率

标签 c++ opencv threshold roi adaptive-threshold

我尝试使用这两种方法,但自适应阈值似乎给出了更好的结果。我用过

 cvSmooth( temp, dst,CV_GAUSSIAN,9,9, 0);

在原始图像上,只有我使用了阈值。

有什么我可以使用 Otsu 方法进行调整以使图像更好,例如自适应阈值处理吗?还有一件事,侧面有一些不需要的指纹残留物,知道如何处理它们吗?

我从一篇期刊上看到,通过比较自定义方 block 中白色像素的百分比,我可以得到投资返回率。然而,这种方法要求我有一个阈值,可以使用 OTSU 方法找到,但我不太确定 AdaptiveThresholding。

cvAdaptiveThreshold( temp, dst, 255,CV_ADAPTIVE_THRESH_MEAN_C,CV_THRESH_BINARY,13, 1 );

结果:

original adaptive

cvThreshold(temp, dst, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);

original otsu

最佳答案

要去除不需要的背景,您可以进行简单的 mask 操作。 Otsu 阈值函数提供了一个从背景中切割出前景图像的阈值。使用该阈值通过遍历整个输入图像来创建二进制掩码,检查当前像素值是否大于阈值,如果为真则将其设置为 1,如果为假则将其设置为 0。

然后,您可以通过简单的矩阵乘法运算或位移位运算将二值掩码应用于原始图像以去除背景。

关于c++ - openCV AdaptiveThreshold 与 Otsu 阈值。投资返回率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470706/

相关文章:

客户端断开连接后,C++ TCP 服务器仍在读取数据

Python 和 PyQt5 : Camera and Changing Screen

python - OpenCV:FFMPEG:标签 0x00000021/'!???' 未找到(格式 'mp4/MP4 (MPEG-4 Part 14)')'

matlab - 尼黑阈值处理

r - 如何使用内部阈值解决 ODE?

c++ - 这样的类只能由多个线程设置一次吗?

c++ - cmake mingw-w64 : strange error when trying to build

c++ - this.value 和 this->value 有什么区别?

python - TypeError:期望一个单段缓冲区对象

python - 在Python中从灰度热图创建多色阈值图像