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):
if int(grayImage[i,j]+50)>255:
gray=255
else:
gray=grayImage[i,j]+50
result[i,j]=np.uint8(gray)
cv2.imshow("original",grayImage)
cv2.imshow("result",result)
if cv2.waitKey()==27:
cv2.destroyAllWindows()
算法:图像灰度上移变换是将实现图像灰度值的上移,从而提升图像的亮度,由于图像灰度值位于0到255之间,因此对灰度值进行溢出判断。图像灰度线性变换是通过建立灰度映射来调整原始图像灰度,从而改善图像的质量,凸显图像细节,提高图像对比度。灰度线性变换公式如下:
DB=f(DA)=αDA+b
其中,DB表示灰度线性变换后的灰度值,DA表示变换前输入图像的灰度值,α和b为线性变换方程f(D)的参数,分别表示斜率和截距。
链接:https://github.com/eastmountyxz/ImageProcessing-Python
本文分享自 图像处理与模式识别研究所 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!