摘要:本篇文章講解圖像灰度化處理的知識,結合OpenCV調用cv2.cvtColor()函數實現圖像灰度操作,使用像素處理方法對圖像進行灰度化處理。
本文分享自華為云社區《[Python圖像處理] 十四.基于OpenCV和像素處理的圖像灰度化處理》,作者: eastmount 。
專注于為中小企業提供網站設計制作、網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業云城免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了1000+企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
本篇文章講解圖像灰度化處理的知識,結合OpenCV調用cv2.cvtColor()函數實現圖像灰度操作,使用像素處理方法對圖像進行灰度化處理。基礎性知識希望對您有所幫助。
像灰度化是將一幅彩色圖像轉換為灰度化圖像的過程。彩色圖像通常包括R、G、B三個分量,分別顯示出紅綠藍等各種顏色,灰度化就是使彩色圖像的R、G、B三個分量相等的過程。灰度圖像中每個像素僅具有一種樣本顏色,其灰度是位于黑色與白色之間的多級色彩深度,灰度值大的像素點比較亮,反之比較暗,像素值最大為255(表示白色),像素值最小為0(表示黑色)。
假設某點的顏色由RGB(R,G,B)組成,常見灰度處理算法如表7.1所示:
表7.1中Gray表示灰度處理之后的顏色,然后將原始RGB(R,G,B)顏色均勻地替換成新顏色RGB(Gray,Gray,Gray),從而將彩色圖片轉化為灰度圖像。
一種常見的方法是將RGB三個分量求和再取平均值,但更為準確的方法是設置不同的權重,將RGB分量按不同的比例進行灰度劃分。比如人類的眼睛感官藍色的敏感度最低,敏感最高的是綠色,因此將RGB按照0.299、0.587、0.144比例加權平均能得到較合理的灰度圖像,如公式7.1所示。
在日常生活中,我們看到的大多數彩色圖像都是RGB類型,但是在圖像處理過程中,常常需要用到灰度圖像、二值圖像、HSV、HSI等顏色,OpenCV提供了cvtColor()函數實現這些功能。其函數原型如下所示:
dst = cv2.cvtColor(src, code[, dst[, dstCn]])
該函數的作用是將一個圖像從一個顏色空間轉換到另一個顏色空間,其中,RGB是指Red、Green和Blue,一副圖像由這三個通道(channel)構成;Gray表示只有灰度值一個通道;HSV包含Hue(色調)、Saturation(飽和度)和Value(亮度)三個通道。在OpenCV中,常見的顏色空間轉換標識包括CV_BGR2BGRA、CV_RGB2GRAY、CV_GRAY2RGB、CV_BGR2HSV、CV_BGR2XYZ、CV_BGR2HLS等。
下面是調用cvtColor()函數將圖像進行灰度化處理的代碼。
#encoding:utf-8 import cv2 import numpyas np #讀取原始圖片 src= cv2.imread('miao.png') #圖像灰度化處理 grayImage= cv2.cvtColor(src,cv2.COLOR_BGR2GRAY) #顯示圖像 cv2.imshow("src", src) cv2.imshow("result", grayImage) #等待顯示 cv2.waitKey(0) cv2.destroyAllWindows()
標題名稱:Python圖像處理丨基于OpenCV和像素處理的圖像灰度化處理
文章鏈接:http://www.hntjjpw.com/article22/dsogicc.html
成都網站建設公司_創新互聯,為您提供網站營銷、、App設計、網站內鏈、響應式網站、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯