重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
摘要:本文主要講解灰度線性變換,基礎性知識希望對您有所幫助。
本文分享自華為云社區《[Python圖像處理] 十六.圖像的灰度非線性變換之對數變換、伽馬變換》,作者:eastmount 。
成都創新互聯主要業務有網站營銷策劃、網站制作、做網站、微信公眾號開發、微信小程序開發、H5技術、程序開發等業務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業務的過程中,公司還積累了豐富的行業經驗、成都營銷網站建設資源和合作伙伴關系資源,并逐漸建立起規范的客戶服務和保障體系。
本篇文章主要講解非線性變換,使用自定義方法對圖像進行灰度化處理,包括對數變換和伽馬變換。
圖像的灰度非線性變換主要包括對數變換、冪次變換、指數變換、分段函數變換,通過非線性關系對圖像進行灰度處理,下面主要講解三種常見類型的灰度非線性變換。
原始圖像的灰度值按照DB=DA×DA/255的公式進行非線性變換,其代碼如下:
# -*- coding: utf-8 -*- import cv2 import numpyas np import matplotlib.pyplotas plt #讀取原始圖像 img= cv2.imread('miao.png') #圖像灰度轉換 grayImage= cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #獲取圖像高度和寬度 height= grayImage.shape[0] width= grayImage.shape[1] #創建一幅圖像 result= np.zeros((height, width), np.uint8) #圖像灰度非線性變換:DB=DA×DA/255 for i in range(height): for j in range(width): gray= int(grayImage[i,j])*int(grayImage[i,j]) / 255 result[i,j]= np.uint8(gray) #顯示圖像 cv2.imshow("Gray Image", grayImage) cv2.imshow("Result", result) #等待顯示 cv2.waitKey(0) cv2.destroyAllWindows()