现代数字图像处理—lena图像处理(北京现代汽车官方网站)
- 實現冪律變換,對lena圖像(灰度)進行處理,觀察在不同gamma數值下圖像的變化和特點。
- 觀察lena圖像的直方圖,實現lena圖像的直方圖均衡,觀察效果。
代碼及內容展示和分析:
1.1選用c*log(x,base)來處理lena的每一個像素,并取不同的參數和底數
import cv2 as cv
import numpy as np
import math
Lena = cv.imread(‘lena.jpeg’,0)
q = lambda x,a,b:a*math.log(1+x,b)
bases = [2,math.exp(1),10]
params = [10,20,30]
lena_all = [[np.uint8([[q(b,param,base)for b in a]for a in lena])for
param in params]for base in bases]
[[cv.imshow(f’{bases[a]}-{params[b]}’,lena_all[a][b])for b in range
(len(lena_all[0]))]for a in range(len(lena_all))]
[[cv.imwrite(f’{bases[a]}-{params[b]}.jpeg’,lena_all[a][b])for b in
range(len(lena_all[0]))]for a in range(len(lena_all))]
if cv.waitKey() == ord(‘A’):
cv.destroyAllWindows()
(1)當底數為2,參數選擇[10,20,30]時,效果圖如下:
Fig.1-1 Fig.1-2 Fig.1-3
(2)當底數為自然對數e,參數選擇[10,20,30]時,效果圖如下:
Fig.1-4 Fig.1-5 Fig.1-6
(3)當底數為10,參數選擇[10,20,30]時,效果圖如下:
分析:使用對數處理圖像時,圖像會變暗,使用修正參數可使圖像亮度增加。
1.2選用x^a的形式處理lena的每一個像素
import cv2 as cv
import numpy as np
Lena = cv.imread(‘lena.jpeg’,0)
q = lambda x,a:pow(x,a)
power = [0.4,0.6,0.8,1.1,1.6,2.1]
lena_1 = lena/255
lena_all = [np.float32([[q(b,power)for b in a]for a in lena_1])for
power in powers]
lena_re_255 = [np.uint8(a*255)for a in lena_all]
[cv.imshow(f’{a+1}’,lena_re_255[a])for a in range(len(lena_re_255))]
[cv.imwrite(f’{a+1}.jpeg’,lena_re_255[a])for a in range(len
(lena_re_255))]
If cv.waitKey() == ord(‘A’):
cv.destroyAllWindows()
(1)當冪次選定[0.4,0.6,0.8]小于1的冪次時:
Fig.1-10 Fig.1-11 Fig.1-12
(2)當冪次選定[1.1,1.6,2.1]大于1的冪次時:
Fig.1-13 Fig.1-14 Fig.1-15
分析:當冪次小于1時,越小則圖像的亮度越高;當冪次大于1時,越大則圖像的亮度越低。
2.lena直方圖及其均衡化
import cv 2 as cv
import matplotlib.pyplot as plt
lena = cv.imread(‘lena.jpeg’,0)
lena_equ = cv.equalizeHist(lena)
cv.imshow(‘1’,lena)
cv.imshow(‘2’,lena_equ)
cv.imwrite(‘lena_equ.jpeg’,lena_equ)
plt.figure(‘原始直方圖:‘)
plt.hist(lena.ravel(),256)
plt.figure(‘均衡后直方圖:‘)
plt.hist(lena_equ.ravel(),256)
plt.show()
if cv.waitKey() == ord(‘A’):
cv.destroyAllWindows()
(1)Lena原始圖和均衡后的lena圖
Fig.2-1 Fig.2-2
(2)Lena的直方圖和均衡后的直方圖
Fig.2-3
Fig.2-4
分析:均衡后的lena圖的亮度要比原始圖稍微暗一點;均衡后的直方圖灰度分布更加均勻一點。
總結
以上是生活随笔為你收集整理的现代数字图像处理—lena图像处理(北京现代汽车官方网站)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: imfinfo怎么用_matlablim
- 下一篇: grep 命令详解_grep命令详解