Python | OpenCV 圖片屬性與資訊查詢
📚 前言
在上一篇 影片輸出與編碼 中,我們學會了如何使用 cv2.VideoWriter() 將影格序列輸出為影片檔案。
這一篇要進一步學習 圖片屬性與資訊查詢,理解如何取得圖片的大小、通道數、型態等基本資訊,並進一步分析圖片的內容。
🖼️ 基本屬性
- shape:圖片的維度資訊
(高度, 寬度, 通道數) - size:圖片的總像素數
(高度 x 寬度 x 通道數) - dtype:圖片的資料型態 (例如
uint8) - ndim:圖片的維度數量
💻 範例程式
1 | # image_info_basic.py |

圖:輸出圖片的基本屬性
🎨 像素操作
圖片在 OpenCV 中其實就是一個 NumPy 陣列,每個像素都對應到一組 BGR 值 (範圍 0~255)。除了查詢,我們也能直接存取或修改像素。
範例一:讀取像素顏色
1 | # image_pixel_read.py |
👉 單一像素的顏色資訊可用於顏色偵測、區域分析或圖片修正;而分離通道則能針對單一顏色做進一步處理。
範例二:建立與修改像素顏色
1 | # image_pixel_modify.py |

圖:建立 4x4 圖片並修改像素顏色,再放大顯示

圖:對應顯示藍、綠、紅色區塊
🔍 進階分析
除了基本屬性之外,我們也可以進一步分析圖片的內容:
- 平均顏色:計算整張圖片的平均 BGR 值。
👉 可用來描述圖片整體風格、判斷主色調、檢查亮度或曝光。 - 最大值 / 最小值:找出像素的亮度範圍。
👉 可用於圖片品質檢測,判斷是否過暗或過曝。 - 灰階直方圖:統計像素分布,常用於圖片分析。
👉 可用於亮度分析、對比度判斷、圖片增強。
💻 範例程式
1 | # image_info_advanced.py |

圖:圖片的平均顏色與灰階直方圖
⚠️ 注意事項
- 顏色通道:彩色圖片通常是 BGR 三通道,灰階圖片則只有一通道。
- 資料型態:常見為
uint8,範圍 0~255。 - 圖片大小:不同解析度會影響後續處理效能。
- 直方圖應用:可用於亮度分析、對比度調整、圖片增強等。
🎯 結語
這一篇我們學會了如何查詢圖片的基本屬性,包括大小、通道數、型態等,並進一步分析平均顏色、亮度範圍、直方圖,以及單一像素的顏色資訊。
下一篇進入 影片屬性與資訊查詢,掌握影片處理的更多技巧。
📖 如在學習過程中遇到疑問,或是想了解更多相關主題,建議回顧一下 Python | OpenCV 系列導讀,掌握完整的章節目錄,方便快速找到你需要的內容。