這篇文章給大家分享的是有關(guān)Python Opencv中g(shù)amma變換的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)建站專(zhuān)注于額爾古納企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。額爾古納網(wǎng)站建設(shè)公司,為額爾古納等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)伽馬變換就是用來(lái)圖像增強(qiáng),其提升了暗部細(xì)節(jié),簡(jiǎn)單來(lái)說(shuō)就是通過(guò)非線性變換,讓圖像從暴光強(qiáng)度的線性響應(yīng)變得更接近人眼感受的響應(yīng),即將漂白(相機(jī)曝光)或過(guò)暗(曝光不足)的圖片,進(jìn)行矯正。
伽馬變換的基本形式如下:
大于1時(shí),對(duì)圖像的灰度分布直方圖具有拉伸作用(使灰度向高灰度值延展),而小于1時(shí),對(duì)圖像的灰度分布直方圖具有收縮作用(是使灰度向低灰度值方向靠攏)。
#分道計(jì)算每個(gè)通道的直方圖 img0 = cv2.imread('12.jpg') hist_b = cv2.calcHist([img0],[0],None,[256],[0,256]) hist_g = cv2.calcHist([img0],[1],None,[256],[0,256]) hist_r = cv2.calcHist([img0],[2],None,[256],[0,256]) def gamma_trans(img,gamma): #具體做法先歸一化到1,然后gamma作為指數(shù)值求出新的像素值再還原 gamma_table = [np.power(x/255.0,gamma)*255.0 for x in range(256)] gamma_table = np.round(np.array(gamma_table)).astype(np.uint8) #實(shí)現(xiàn)映射用的是Opencv的查表函數(shù) return cv2.LUT(img0,gamma_table) img0_corrted = gamma_trans(img0, 0.5) cv2.imshow('img0',img0) cv2.imshow('gamma_image',img0_corrted) cv2.imwrite('gamma_image.png',img0_corrted) #分通道計(jì)算Gamma校正后的直方圖 hist_b_c =cv2.calcHist([img0_corrted],[0],None,[256],[0,256]) hist_g_c =cv2.calcHist([img0_corrted],[1],None,[256],[0,256]) hist_r_c =cv2.calcHist([img0_corrted],[2],None,[256],[0,256]) fig = plt.figure('gamma') pix_hists = [[hist_b, hist_g, hist_r], [hist_b_c, hist_g_c, hist_r_c]] pix_vals = range(256) for sub_plt, pix_hist in zip([121, 122], pix_hists): ax = fig.add_subplot(sub_plt, projection='3d') for c, z, channel_hist in zip(['b', 'g', 'r'], [20, 10, 0], pix_hist): cs = [c] * 256 ax.bar(pix_vals, channel_hist, zs=z, zdir='y', color=cs, alpha=0.618, edgecolor='none', lw=0) ax.set_xlabel('Pixel Values') ax.set_xlim([0, 256]) ax.set_ylabel('Count') ax.set_zlabel('Channels') plt.show() cv2.waitKey()
感謝各位的閱讀!關(guān)于“Python Opencv中g(shù)amma變換的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!