CV2 轉灰度圖

CV2 是 Python 中使用最廣泛的計算機視覺庫,可以完成從圖像讀取到圖像輸出、圖像轉換、特徵檢測與提取、目標識別,人臉識別等功能;而在計算機視覺中對於圖像處理的一個基本步驟就是將彩色圖像轉換為灰度圖像。在本文中,我們將詳細闡述 CV2 如何實現灰度圖像轉換。

一、什麼是灰度圖像?

灰度圖像簡單來說就是只有黑、白、灰三種顏色的圖像。而在計算機中,灰度圖像是通過將彩色圖像的每個像素點的R、G、B三個通道的值按照一定的加權求和轉化為一種灰度的表現方式。

二、如何使用 CV2 轉換成灰度圖?

CV2 中提供了一個函數 cvtColor(),可以實現圖像的顏色空間轉換。在轉化成灰度圖像中,我們使用的是 cv2.COLOR_BGR2GRAY。這是因為 OpenCV 讀入的圖像格式是 BGR 格式(即顏色通道順序為 blue-green-red),而不是 RGB(red-green-blue)格式。

import cv2

# 讀入彩色圖像
img = cv2.imread('image.jpg')

# 轉換成灰度圖像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 顯示灰度圖像
cv2.imshow('Gray Image',gray_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

三、轉換過程中的加權演算法

在將彩色圖像轉換成灰度圖像時,每個像素的 RGB 值通過加權演算法轉換成對應的灰度值。在這個過程中,我們在不同的應用場景下,可能會有不同的加權演算法。

OpenCV 中默認的加權演算法如下:

  • Gray = 0.299 × R + 0.587 × G + 0.114 × B

該演算法是以人眼對彩色敏感程度不同為基礎的,R、G、B 三個顏色的取值範圍均為 0~255。

四、如何優化演算法?

如果我們對於該演算法不滿意,可以進行自定義。例如想讓加權演算法更注重紅色通道,可以重寫加權公式。

# 加權演算法 (更注重紅色通道)
gray_img = 0.3 * img[:, :, 2] + 0.59 * img[:, :, 1] + 0.11 * img[:, :, 0]

此時,我們使用更高的權重給了紅色,造成灰度圖像偏紅。

五、總結

CV2 轉換灰度圖是計算機視覺處理中不可缺少的步驟,灰度圖像比彩色圖像更具有穩定性,在許多圖像處理任務中應用廣泛。在轉換過程中,CV2 中提供的函數 cvtColor() 使轉換過程變得非常簡單和方便。同時,我們也可以根據不同需要自定義加權演算法進行更優化的轉換。

原創文章,作者:RUKBP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371238.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RUKBP的頭像RUKBP
上一篇 2025-04-23 00:48
下一篇 2025-04-23 00:48

相關推薦

  • 使用Python生成灰度圖的方法

    灰度圖是一種黑白圖像,它的每個像素點的值都表示該點的亮度程度,通常用於圖像處理、計算機視覺、人工智慧等領域。在Python中,我們可以使用PIL庫來生成灰度圖。 一、PIL庫的安裝…

    編程 2025-04-28
  • 使用Python PIL對圖片進行灰度化處理

    這篇文章將深入介紹如何使用Python Imaging Library (PIL)對彩色圖像進行灰度化處理。我們將從基礎的圖像處理開始,一步步地介紹如何進行灰度化處理。 一、獲取和…

    編程 2025-04-28
  • Python實現圖像轉化為灰度圖像

    本文將從多個方面詳細闡述如何使用Python將圖像轉化為灰度圖像,包括圖像的概念、灰度圖像的概念、Python庫的使用以及完整的Python代碼實現。 一、圖像與灰度圖像 圖像是指…

    編程 2025-04-28
  • Python灰度圖片如何轉彩色

    本文主要介紹如何使用Python將灰度圖片轉換成彩色圖片,涉及到的知識點有圖像處理的基礎知識、Python圖像處理庫Pillow的使用方法以及彩色處理的基本原理。 一、灰度圖像和彩…

    編程 2025-04-28
  • 灰度特徵的探究

    灰度是指在黑白影像中,某一像素點的亮度值。而灰度特徵,則是在圖像分析領域中,對於灰度值的某種特徵的描述。對於灰度特徵的研究,有助於深入理解圖像的本質特徵,可以用於圖像分類、圖像識別…

    編程 2025-02-05
  • python二維數組生成灰度圖,python 灰度圖

    本文目錄一覽: 1、python io. imread如何設置參數,使讀取的圖片為灰度圖? 2、python怎麼根據數據生成圖像 3、python opencv 怎麼構建二維三維圖…

    編程 2025-01-11
  • Matlab灰度變換詳解

    一、灰度圖像概述 灰度圖像是指每個像素點都只有一個灰度值的圖像。在Matlab中,灰度值範圍是0~255,通常用8位二進位數表示灰度值,因此,每個像素點都可以用一個位元組存儲。 灰度…

    編程 2024-12-29
  • python圖片轉灰色(python灰度圖像變彩色)

    本文目錄一覽: 1、python io. imread如何設置參數,使讀取的圖片為灰度圖? 2、python訓練得到的分割圖值是負的怎麼得到黑白圖 3、如何用python把圖片轉換…

    編程 2024-12-14
  • cad怎麼設置灰度列印,cad印表機顏色的設置,灰度是啥意思

    本文目錄一覽: 1、CAD列印出來是灰色的怎麼設置? 2、CAD怎麼設置彩色列印 3、cad列印怎樣調黑灰度 CAD列印出來是灰色的怎麼設置? ;     在列印界面,右側的列印樣…

    編程 2024-11-03
  • 灰度發布詳解

    一、什麼是灰度發布 灰度發布,又稱漸進式發布,是在軟體發布新版本時,將新版本僅僅部署給一部分用戶使用的一種發布方式。灰度發布的目的是為了在不影響全部用戶的前提下,測試新版本是否存在…

    編程 2024-10-29

發表回復

登錄後才能評論