增加噪声

将噪声个数增加到10%(实验中具体为4000个)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import cv2 as cv
import numpy as np
import random

img = cv.imread("img.png", 1)
(rows, cols, chn) = img.shape
cv.imshow("img.png", img)

# 加噪声
for i in range(4000):
x = np.random.randint(0, rows)
y = np.random.randint(0, cols)
img[x, y, :] = random.randint(0, 255)


cv.imshow("noise", img)
cv.imwrite("img_noise.png", img)
cv.waitKey()
cv.destroyAllWindows()

得到:

img_noise

降噪

降噪结果

用上周的方法尝试,得到如下结果:

image-20210801205556327

可以看到结果中仍然有部分噪声未被清除

合理性

区分度

Figure_1

差异度

2

再次处理

调整参数,且再次处理,得到:

image-20210802134805804

可以看到,“内部”的噪声去除,只剩下,图像边界(四周)和图像边缘残留部分噪声(呈毛刺状,且在原图大小时,噪声不明显)

尝试批量处理

在测试中,发现:速度上基本不能满足测试的要求

可能原因:

  • 常见的图片(一般为现在的普通手机的照片)像素较高,基本远大于测试用图(200*200)
  • 程序步骤多(包含读入、检测噪声、清除噪声、写入、检测区分度、检测差异度)

所以程序仍需改进