Python?OpenCV獲取圖片的基本參數(shù)信息
在圖像處理領域,了解圖像的基本信息是必不可少的第一步。
之前已經使用 cv2.imread()
方法將圖片讀取出來了。我們還可以使用 OpenCV 提供的一些方法去讀取圖片的尺寸、通道數(shù)、圖片像素總數(shù)等信息。
獲取圖片寬高和通道數(shù)
通過 shape
屬性可以直接獲取圖像的維度信息。
import cv2 # 讀取圖片 img = cv2.imread('德育處主任.jpeg') # 獲取圖片的寬、高和通道數(shù) height, width, channels = img.shape print(f'圖片高度: {height}') print(f'圖片寬度: {width}') print(f'圖片通道數(shù): {channels}')
我讀取的是一張 1280x1280 的彩色的圖像。運行代碼后,在終端會輸出以下內容。
圖片高度: 1280
圖片寬度: 1280
圖片通道數(shù): 3
注意:如果圖片是灰度圖,shape
只有兩個值(高度和寬度),沒有通道數(shù)。
處理灰度圖的情況:
# 檢查是否為灰度圖 if len(image.shape) == 2: height, width = image.shape print("這是灰度圖") else: height, width, channels = image.shape print("這是彩色圖")
獲取像素數(shù)據(jù)類型
圖片的每個像素都有一個數(shù)據(jù)類型,常見的數(shù)據(jù)類型包括 uint8
(0-255)。可以通過 Numpy 的 dtype
屬性獲取。
# 獲取數(shù)據(jù)類型 pixel_dtype = img.dtype print(f"像素數(shù)據(jù)類型:{pixel_dtype}")
我的示例圖片是 uint8
,所以輸出的結果是:
像素數(shù)據(jù)類型:uint8
計算圖片大?。傁袼財?shù))
通過寬度、高度和通道數(shù),可以計算圖片的大小。用到的屬性是 size
。
# 計算總像素數(shù) total_pixels = img.size print(f"圖片的總像素數(shù):{total_pixels}")
我的示例圖是 1280x1280 的彩色圖,每個像素有3個通道。所以上面這段代碼在終端會輸出:
圖片的總像素數(shù):4915200
1280 x 1280 x 3 = 4,915,200
如果需要計算單個通道的大小,只需用圖片的 長 x 寬 即可。
到此這篇關于Python OpenCV獲取圖片的基本參數(shù)信息的文章就介紹到這了,更多相關Python獲取圖片基本參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于tensorflow指定GPU運行及GPU資源分配的幾種方式小結
今天小編就為大家分享一篇基于tensorflow指定GPU運行及GPU資源分配的幾種方式小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python腳本實現(xiàn)mp4中的音頻提取并保存在原目錄
這篇文章主要介紹了python腳本實現(xiàn)mp4中的音頻提取并保存在原目錄,本文給大家通過實例代碼介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02python numpy 部分排序 尋找最大的前幾個數(shù)的方法
今天小編就為大家分享一篇python numpy 部分排序 尋找最大的前幾個數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06