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