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