目前,我面临的问题与图像,我把盐和胡椒噪声和使用后,中值模糊的图片,它的绿色甚至做图像的灰度。
原始图像:
下面是我使用的代码。我把原图转换成灰度图。
img1 = cv.imread('foto_1.jpeg',cv.IMREAD_GRAYSCALE)
这里我添加了盐和胡椒噪声(我知道这不是最好的代码,但我需要避免使用open cv,因为这是我老师的指示)。
ruido1 = np.zeros_like(img1)
cv.randu(ruido1, 0, 255)
x,y = img1.shape
img_con_sp_1 = img1.copy()
prob = 0.00001
pixel
for i in range(x):
for j in range(y):
rdn = random.randint(205, 255)
if ruido1[i][j] < int(255 - (rdn*(1-prob))):
img_con_sp_1[i][j] = 0
elif ruido1[i][j] > 255 - int(255 - (rdn*(1-prob))):
img_con_sp_1[i][j] = 255
else:
img_con_sp_1[i][j] = img1[i][j]
imshow("imagen con S&P 1",img_con_sp_1,size=12)
这里的一部分,我使用的中值模糊从开放的简历,但它的形象越来越绿色。
median_blur = cv.medianBlur(img1, 7)
plt.imshow(median_blur)
plt.show()
你能帮我知道我做错了什么吗?
1条答案
按热度按时间a11xaf1n1#
图像没有变成绿色,而是根据Matplotlib的默认色彩Map表
viridis
进行着色,即蓝色表示较暗的格雷,绿色表示中间值,黄色表示浅灰色。我不明白你怎么能说它是绿色的。不过……来自
plt.imshow
文档输入可以是实际的RGB(A)数据或2D标量数据,其将被渲染为伪彩色图像。为了显示灰度图像,使用参数
cmap='gray', vmin=0, vmax=255
设置颜色Map。