1.图像灰度化。彩色图像中的每个像素的颜色有R,G,B三个分量决定,而每个分量的取值范围为0 ~ 255。而灰度图像是R,GB三个分量相同的一种特殊的彩色图像,算法有两种:
1)求每个像素点的R,G,B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。
2)根据RGB和和YUY颜色控件的变化关系,建立亮度Y与R,G,B三个颜色分量的对应关系:Y = 0.3R + 0.59G + 0.11B,以这个亮度值表达图像的灰度值。
OpenCV有关的函数ctvColor,用它可直接完成灰度化操作。设img为源图像矩阵,myinmg1为灰度化的目标函数矩阵,编写代码如下:
#复制并且转换为灰度图像 myimg1 = cv2.ctvColor(img,cv2.COLOR_BGR2GRAY)
完整代码:
import cv2
import numpy as np
fn = ‘001.png‘
if __name__ == ‘__main__‘:
img = cv2.imread(fn)
sp = img.shape
print(sp)
#获取图像的高height
sz1 = sp[0]
#宽width
sz2 = sp[1]
#显示图像大小
print(‘width: %d \nheight: %d‘% (sz2, sz1))
#创建一个窗口并显示图像
cv2.namedWindow(‘img‘)
cv2.imshow(‘img‘, img)
#复制图像矩阵,生成与源图像一样的图像,并显示
myimg2 = img.copy()
cv2.imshow(‘myimg2‘, myimg2)
#复制并转换为灰度化图像,并显示
myimg1 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.namedWindow(‘myimg1‘)
cv2.imshow(‘myimg1‘,myimg1)
cv2.waitKey()
cv2.destroyAllWindows()
2.图像加噪。将图像若干个像素点的值设为噪声点的值。比如为图像加上很多像素值为[25,20,20]的像素点,例如:
原文:https://www.cnblogs.com/superSmall/p/12486640.html