java - OpenCV-从图像中去除噪声

标签 java image opencv image-processing

我正在开发一个 java 图像处理程序(基于 OpenCV 库)。

我需要从第一张图片中去除噪点以获得像下面第二张图片一样干净的图片。

这种特定情况下,消除噪音的最佳方法是什么? 最重要的部分是如何去除图像周围的黑色部分。

第一张图片:

enter image description here

第二张图片:

enter image description here

最佳答案

  1. 摆脱灰色:threshold 图像,使任何灰色变成白色
  2. 去除边框:floodfill在位置 (0.0) 有白色
  3. 这将只留下一些需要清理的剩余问题:检测图像中的每个黑色 Blob ,如果 Blob 的面积小于某个数量,则用白色填充该 Blob 。下面是一种实现方法。 请注意,floodfill 返回它填充的像素数。这允许您在发现一个灰色填充时扫描黑色像素。如果填充的区域太小,则再次填充白色以删除 Blob ,然后继续扫描,否则将 Blob 保留为灰色并继续扫描黑色。最后你想要的一切都会变成灰色,所以再次扫描图像,当你发现灰色时,用黑色填充。

关于java - OpenCV-从图像中去除噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25099511/

相关文章:

java - 我们可以在java的非静态类中有静态 block 吗?

Java 正则表达式无法工作,但 javascript 可以工作

python - 灰度图像分割

c++ - 使用 Mingw-make 构建 OpenCV 3.3 在 47% 处出现错误 2

java - 将 BigDecimal 转换为数组中的字符串

java - 无法在 NavigationFilter 之后在 JTextField 上设置选择

html - src 值不是从 firefox 的 root 中获取的,在 chrome 中工作正常

java - 无法实例化 Image java 类型?

javascript - 创建一个搜索图像 : orange. png 的 greasemonkey 脚本

android - 如何使用 OpenCV 校正 RotatedRect 偏斜?