import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread("lena.jpg",0)
# 图像反转
# 方法1
img1 = (255-img).astype(np.uint8)
# 方法2
img2 = img.copy()
H,W = img2.shape
print(W,H)
for i in range(H):
for j in range(W):
img2[i,j] = 255-img2[i,j]
# 图像显示
plt.figure(figsize =(10,8),dpi=80)
plt.subplot(121)
plt.imshow(img1,cmap="gray")
plt.subplot(122)
plt.imshow(img2,cmap="gray")
plt.show()
# 图像对数变换
'''
img3 = img.copy()
c = 42
img3 = c*np.log(img3+1)
img3 = img3.astype(np.uint8)
print(img3)
plt.figure(figsize =(10,8),dpi=80)
plt.subplot(111)
plt.imshow(img3,cmap="gray")
plt.show()
'''
# 图像伽马变换
'''
img4 = img.copy()
c = 0.0001
t = 0.5
img4 = c*np.power(img4,t)
plt.figure(figsize =(10,8),dpi=80)
plt.subplot(121)
plt.imshow(img,cmap="gray")
plt.subplot(122)
plt.imshow(img4,cmap="gray")
plt.show()
'''
输出结果: