<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了Python實現影象增強的具體程式碼,供大家參考,具體內容如下
題目描述:對於下面這幅影象(圖 1),請問可以通過那些影象增強的手段,達到改善視覺效果的目的?請顯示處理結果,並附簡要處理流程說明。
圖 1 原圖
常用的影象增強方法有以下幾種:
1.提高對比度
採用了線性函數對影象的灰度值進行變換。
2.Gamma校正
採用了非線性函數(指數函數)對影象的灰度值進行變換。
3.直方圖均衡化
將原始影象的直方圖通過積分概率密度函數轉化為概率密度為1(理想情況)的影象,從而達到提高對比度的作用。直方圖均衡化的實質也是一種特定區域的展寬,但是會導致整個影象向亮的區域變換。當原始影象給定時,對應的直方圖均衡化的效果也相應的確定了。
4.直方圖規定化
針對直方圖均衡化的存在的一些問題,將原始影象的直方圖轉化為規定的直方圖的形式。一般目標影象的直方圖的確定需要參考原始影象的直方圖,並利用多高斯函數得到。
5. 中值、均值濾波器
均值濾波方法:對待處理的當前畫素,選擇一個模板,該模板為其鄰近的若干個畫素組成,用模板的均值來替代原畫素的值的方法。
中值濾波方法:對待處理的當前畫素,選擇一個模板,該模板為其鄰近的若干個畫素組成,對模板的畫素由小到大進行排序,再用模板的中值來替代原畫素的值的方法。
從影象中我們可以看出,該圖片帶有很多椒鹽噪聲,並且影象有些暗,於是我們選擇中值濾波方法對圖片進行處理(中值濾波對椒鹽噪聲具有較好效果),並提高對比度和亮度。
第一步:採用中值濾波方法對影象進行處理,處理後,結果如圖2所示:
圖2 中值濾波
第二步:Gamma校正,處理後,結果如圖3所示:
圖3 Gamma校正
第三步:提升對比度,亮度,處理後,結果如圖4所示:
圖4 對比度、亮度提升
最後輸出對比圖,如圖5所示:
圖5 效果對比圖
Python程式碼:
#author:lph #funtion:image enhance import cv2 import numpy as np from tkinter import * from skimage import filters,exposure import matplotlib.pyplot as plt from skimage.morphology import disk from matplotlib.font_manager import FontProperties #讀入圖片 im = cv2.imread('./image/image.png',0) im_copy = cv2.imread('./image/image.png',0) #如果圖片為空,返回錯誤資訊,並終止程式 if im is None: print("圖片開啟失敗!") exit() #中值濾波去噪 medStep = 3 # 設定為3*3的濾波器 def m_filter(x, y, step): """中值濾波函數""" sum_s=[] # 定義空陣列 for k in range(-int(step/2),int(step/2)+1): for m in range(-int(step/2),int(step/2)+1): sum_s.append(im[x+k][y+m]) # 把模組的畫素新增到空陣列 sum_s.sort() # 對模板的畫素由小到大進行排序 return sum_s[(int(step*step/2)+1)] for i in range(int(medStep/2),im.shape[0]-int(medStep/2)): for j in range(int(medStep/2),im.shape[1]-int(medStep/2)): im_copy[i][j] = m_filter(i, j, medStep) # 用模板的中值來替代原畫素的值 cv2.imshow("Median",im_copy) #Gamma校正 img3 = exposure.adjust_gamma(im_copy,1.05) cv2.imshow("Gamma", img3) #對比度、亮度增強 def Contrast_and_Brightness(alpha,beta,img): """使用公式f(x)=α.g(x)+β""" #α調節對比度,β調節亮度 blank = np.zeros(img.shape,img.dtype)#建立圖片型別的零矩陣 dst = cv2.addWeighted(img,alpha,blank,1-alpha,beta)#影象混合加權 return dst img4 = Contrast_and_Brightness(1.1,30,img3) cv2.imshow("Contrast", img4) #建立一個視窗 plt.figure('對比圖',figsize=(7,5)) # 中文字型設定 font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=14) #新宋體 #顯示原圖 plt.subplot(121) #子圖1 #顯示原圖,設定標題和字型 plt.imshow(im,plt.cm.gray), plt.title('處理前圖片', fontproperties = font) #顯示處理過的影象 plt.subplot(122) #子圖2 #顯示處理後的圖,設定標題和字型 plt.imshow(img4,plt.cm.gray), plt.title('處理後圖片', fontproperties = font) plt.show() # 銷燬所有視窗 cv2.destroyAllWindows()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45