欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現圖像增強

 更新時間:2022年08月05日 09:59:28   作者:lph-China  
這篇文章主要為大家詳細介紹了Python實現圖像增強,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Python實現圖像增強的具體代碼,供大家參考,具體內容如下

題目描述:對于下面這幅圖像(圖 1),請問可以通過那些圖像增強的手段,達到改善視覺效果的目的?請顯示處理結果,并附簡要處理流程說明。

圖 1 原圖 

常用的圖像增強方法有以下幾種:

1.提高對比度

采用了線性函數對圖像的灰度值進行變換。

2.Gamma校正

采用了非線性函數(指數函數)對圖像的灰度值進行變換。

3.直方圖均衡化

將原始圖像的直方圖通過積分概率密度函數轉化為概率密度為1(理想情況)的圖像,從而達到提高對比度的作用。直方圖均衡化的實質也是一種特定區(qū)域的展寬,但是會導致整個圖像向亮的區(qū)域變換。當原始圖像給定時,對應的直方圖均衡化的效果也相應的確定了。

4.直方圖規(guī)定化

針對直方圖均衡化的存在的一些問題,將原始圖像的直方圖轉化為規(guī)定的直方圖的形式。一般目標圖像的直方圖的確定需要參考原始圖像的直方圖,并利用多高斯函數得到。

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)+β"""
? ? #α調節(jié)對比度,β調節(jié)亮度
? ? blank = np.zeros(img.shape,img.dtype)#創(chuàng)建圖片類型的零矩陣
? ? dst = cv2.addWeighted(img,alpha,blank,1-alpha,beta)#圖像混合加權
? ? return dst
img4 = Contrast_and_Brightness(1.1,30,img3)
cv2.imshow("Contrast", img4)
#創(chuàng)建一個窗口
plt.figure('對比圖',figsize=(7,5))
# 中文字體設置
font = FontProperties(fname=r"c:\windows\fonts\simsun.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()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python yield使用方法示例

    Python yield使用方法示例

    這篇文章主要介紹了Python yield使用方法,大家參考使用吧
    2013-12-12
  • Python實現動態(tài)添加類的屬性或成員函數的解決方法

    Python實現動態(tài)添加類的屬性或成員函數的解決方法

    這篇文章主要介紹了Python實現動態(tài)添加類的屬性或成員函數的解決方法,在類似插件開發(fā)的時候會比較有用,需要的朋友可以參考下
    2014-07-07
  • 詳解Python描述符的工作原理

    詳解Python描述符的工作原理

    在 Python 開發(fā)中,你可能聽說過「描述符」這個概念,由于我們很少直接使用它,所以大部分開發(fā)人員并不了解它的原理. 但作為熟練使用 Python,想要進階的你,建議還是了解一下描述符的原理,這也便于你更深層次地理解 Python 的設計思想,需要的朋友可以參考下
    2021-06-06
  • OpenCV繪制圓角矩形的方法實例

    OpenCV繪制圓角矩形的方法實例

    我們在輪廓截取出來時一般需要是矩形的圖像,所以下面這篇文章主要給大家介紹了關于OpenCV繪制圓角矩形的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • yolov5中anchors設置實例詳解

    yolov5中anchors設置實例詳解

    在YOLOV5算法之中,針對不同的數據集,一般會預先設置固定的Anchor,下面這篇文章主要給大家介紹了關于yolov5中anchors設置的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Kotlin 中的 apply 函數用法詳解

    Kotlin 中的 apply 函數用法詳解

    apply 函數是 Kotlin 中一個十分方便的工具,它使得對對象進行初始化和配置變得更加簡潔、清晰,通過與 Java 的對比,我們可以看出 Kotlin 在處理類似情況時具有更高的表現力和簡潔性,本文給大家介紹Kotlin apply 函數的用法,感興趣的朋友一起看看吧
    2024-03-03
  • Python3第三方模塊之Pillow模塊的使用詳解

    Python3第三方模塊之Pillow模塊的使用詳解

    這篇文章主要介紹了Python3第三方模塊之Pillow模塊的使用詳解,在 pillow之前處理圖形的庫莫過于PIL,但是它支持到python2.7,年久失修,于是一群志愿者在PIL的基礎上常見了pillow,支持python3,又豐富和功能特性,需要的朋友可以參考下
    2023-10-10
  • python使用pandas抽樣訓練數據中某個類別實例

    python使用pandas抽樣訓練數據中某個類別實例

    今天小編就為大家分享一篇python使用pandas抽樣訓練數據中某個類別實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • windows系統下Python環(huán)境的搭建(Aptana Studio)

    windows系統下Python環(huán)境的搭建(Aptana Studio)

    這篇文章主要介紹了windows系統下Python環(huán)境的搭建(Aptana Studio),需要的朋友可以參考下
    2017-03-03
  • 對Python3中列表乘以某一個數的示例詳解

    對Python3中列表乘以某一個數的示例詳解

    今天小編就為大家分享一篇對Python3中列表乘以某一個數的示例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論