import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread("C:/Users/xpp/Desktop/Lena.png")
grayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
height,width=grayImage.shape[:2]
result=np.zeros((height,width),np.uint8)
#图像灰度上移变换
for i in range(height):
for j in range(width):
gray=255-int(grayImage[i,j])
result[i,j]=np.uint8(gray)
cv2.imshow("original",grayImage)
cv2.imshow("result",result)
if cv2.waitKey()==27:
cv2.destroyAllWindows()
算法: 图像灰度反色变换,也称线性灰度补变换,是对原图像的像素值进行反转,即黑色变为白色,白色变为黑色。通过改变图像像元的亮度值来改变图像像元的对比度,从而改善图像质量的图像处理方法。图像灰度线性变换是通过建立灰度映射来调整原始图像灰度,从而改善图像的质量,凸显图像细节,提高图像对比度。灰度线性变换公式如下:
DB=f(DA)=αDA+b
其中,DB表示灰度线性变换后的灰度值,DA表示变换前输入图像的灰度值,α和b为线性变换方程f(D)的参数,分别表示斜率和截距。
链接:https://github.com/eastmountyxz/ImageProcessing-Python
本文分享自 图像处理与模式识别研究所 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!