小編寫這篇文章的一個主要目的,主要是來給大家詳細介紹關(guān)于python數(shù)字圖像的一些事宜,包括數(shù)字圖像處理的一些流程類的問題。包括圖像處理的對比度,圖像處理的亮度,這之間的一個相關(guān)調(diào)整,具體的實例,下面就給大家詳細解答下。
skimage包的exposure模塊
圖像明亮度與相互對比之間的調(diào)整,是放在skimage包的exposure模塊里面
1、gamma調(diào)整
對原圖像的像素,進行冪運算,得到新的像素值。公式中的g就是gamma值。
如果gamma>1,新圖像比原圖像暗
如果gamma<1,新圖像比原圖像亮
函數(shù)格式為:skimage.exposure.adjust_gamma(image,gamma=1)
gamma參數(shù)默認為1,原像不發(fā)生變化。
from skimage import data,exposure,img_as_float import matplotlib.pyplot as plt image=img_as_float(data.moon()) gam1=exposure.adjust_gamma(image,2)#調(diào)暗 gam2=exposure.adjust_gamma(image,0.5)#調(diào)亮 plt.figure('adjust_gamma',figsize=(8,8)) plt.subplot(131) plt.title('origin image') plt.imshow(image,plt.cm.gray) plt.axis('off') plt.subplot(132) plt.title('gamma=2') plt.imshow(gam1,plt.cm.gray) plt.axis('off') plt.subplot(133) plt.title('gamma=0.5') plt.imshow(gam2,plt.cm.gray) plt.axis('off') plt.show()
2、log對數(shù)調(diào)整
這個剛好和gamma相反
原理:I=log(I)
from skimage import data,exposure,img_as_float import matplotlib.pyplot as plt image=img_as_float(data.moon()) gam1=exposure.adjust_log(image)#對數(shù)調(diào)整 plt.figure('adjust_gamma',figsize=(8,8)) plt.subplot(121) plt.title('origin image') plt.imshow(image,plt.cm.gray) plt.axis('off') plt.subplot(122) plt.title('log') plt.imshow(gam1,plt.cm.gray) plt.axis('off') plt.show()
3、判斷圖像對比度是否偏低
函數(shù):is_low_contrast(img)
返回一個bool型值
from skimage import data,exposure image=data.moon() result=exposure.is_low_contrast(image) print(result) 輸出為False
4、調(diào)整強度
函數(shù):
skimage.exposure.rescale_intensity(image,in_range='image',out_range='dtype')
in_range表示輸入圖片的強度范圍,默認為'image',表示用圖像的最大/最小像素值作為范圍
out_range表示輸出圖片的強度范圍,默認為'dype',表示用圖像的類型的最大/最小值作為范圍
默認情況下,輸入圖片的[min,max]范圍被拉伸到[dtype.min,dtype.max],如果
dtype=uint8,那么dtype.min=0,dtype.max=255
import numpy as np from skimage import exposure image=np.array([51,102,153],dtype=np.uint8) mat=exposure.rescale_intensity(image) print(mat)
輸出為[0 127 255]
即像素最小值由51變?yōu)?,最大值由153變?yōu)?55,整體進行了拉伸,但是數(shù)據(jù)類型沒有變,還是uint8
前面我們講過,可以通過img_as_float()函數(shù)將unit8類型轉(zhuǎn)換為float型,實際上還有更簡單的方法,就是乘以1.0
import numpy as np image=np.array([51,102,153],dtype=np.uint8) print(image*1.0) 即由[51,102,153]變成了[51.102.153.] 而float類型的范圍是[0,1],因此對float進行rescale_intensity調(diào)整后,范圍變?yōu)閇0,1],而不是[0,255] import numpy as np from skimage import exposure image=np.array([51,102,153],dtype=np.uint8) tmp=image*1.0 mat=exposure.rescale_intensity(tmp) print(mat)
結(jié)果為[0. 0.5 1.]
如果原始像素值不想被拉伸,只是等比例縮小,就使用in_range參數(shù),如:
import numpy as np from skimage import exposure image=np.array([51,102,153],dtype=np.uint8) tmp=image*1.0 mat=exposure.rescale_intensity(tmp,in_range=(0,255)) print(mat)
輸出為:[0.2 0.4 0.6],即原像素值除以255
如果參數(shù)in_range的[main,max]范圍要比原始像素值的范圍[min,max]大或者小,那就進行裁剪,如:
mat=exposure.rescale_intensity(tmp,in_range=(0,102))
print(mat)
輸出[0.5 1.1.],即原像素值除以102,超出1的變?yōu)?
如果一個數(shù)組里面有負數(shù),現(xiàn)在想調(diào)整到正數(shù),就使用out_range參數(shù)。如:
import numpy as np from skimage import exposure image=np.array([-10,0,10],dtype=np.int8) mat=exposure.rescale_intensity(image,out_range=(0,127)) print(mat)
輸出[0 63 127]
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/128825.html
摘要:運行代碼的結(jié)果如下是大名鼎鼎的并且非常權(quán)威的圖像處理庫。允許使用不同的媒介,用于創(chuàng)建動畫片,數(shù)字形象和數(shù)字藝術(shù),也可以用于圖像處理。從正面的角度看,他是一個可靈活調(diào)整以及一個很好的了解圖像處理算法的途徑。 文/ Tine譯/Mantra 附原文地址:http://blog.webkid.io/image-p... 如果你正在尋找更高效的辦法來處理或操縱你 web 項目中的圖片,那么這篇...
摘要:如果噪音在那里,它就會被放大為了避免這種情況,會應用對比限制如果任何直方圖超出指定的對比度限制默認情況下是,在應用直方圖均衡之前,這些像素被裁剪并均勻地分布到其他均衡后,刪除邊界中的工件,采用雙線性插值代碼 Histograms - 2: Histogram Equalization 直方圖均衡化是圖像處理領域中利用圖像直方圖對對比度進行調(diào)整的方法.通過這種方法,亮度可以更好地在直方...
??歡迎訂閱《從實戰(zhàn)學python》專欄,用python實現(xiàn)爬蟲、辦公自動化、數(shù)據(jù)可視化、人工智能等各個方向的實戰(zhàn)案例,有趣又有用!?? 更多精品專欄簡介點這里 治愈生活的良方 就是保持對生活的熱愛 前言 哈嘍,大家好,我是一條。 每次和女朋友出去玩,拍照是必須的,天氣好還行,天氣要是不好,加上我這破手機,那拍的簡直慘不忍睹,自己都不過去。 但是沒什么能難倒程序員的,為了不挨罵,連夜寫出去霧...
閱讀 1066·2023-01-14 11:38
閱讀 1062·2023-01-14 11:04
閱讀 901·2023-01-14 10:48
閱讀 2377·2023-01-14 10:34
閱讀 1147·2023-01-14 10:24
閱讀 1026·2023-01-14 10:18
閱讀 654·2023-01-14 10:09
閱讀 733·2023-01-14 10:02