- OpenCV Python 教程
- OpenCV Python - 首頁
- OpenCV Python - 概述
- OpenCV Python - 環境配置
- OpenCV Python - 讀取影像
- OpenCV Python - 寫入影像
- OpenCV Python - 使用 Matplotlib
- OpenCV Python - 影像屬性
- OpenCV Python - 按位運算
- OpenCV Python - 形狀和文字
- OpenCV Python - 滑鼠事件
- OpenCV Python - 新增軌跡條
- OpenCV Python - 縮放和旋轉
- OpenCV Python - 影像閾值化
- OpenCV Python - 影像濾波
- OpenCV Python - 邊緣檢測
- OpenCV Python - 直方圖
- OpenCV Python - 顏色空間
- OpenCV Python - 影像變換
- OpenCV Python - 影像輪廓
- OpenCV Python - 模板匹配
- OpenCV Python - 影像金字塔
- OpenCV Python - 影像加法
- OpenCV Python - 影像混合
- OpenCV Python - 傅立葉變換
- OpenCV Python - 捕捉影片
- OpenCV Python - 播放影片
- OpenCV Python - 從影片中提取影像
- OpenCV Python - 從影像生成影片
- OpenCV Python - 人臉檢測
- OpenCV Python - 均值漂移/CamShift
- OpenCV Python - 特徵檢測
- OpenCV Python - 特徵匹配
- OpenCV Python - 數字識別
- OpenCV Python 資源
- OpenCV Python - 快速指南
- OpenCV Python - 資源
- OpenCV Python - 討論
OpenCV Python - 影像屬性
OpenCV 讀取影像資料到 NumPy 陣列中。此 ndarray 物件的 shape() 方法揭示了影像屬性,例如尺寸和通道。
使用 shape() 方法的命令如下:
>>> img = cv.imread("OpenCV_Logo.png", 1)
>>> img.shape
(222, 180, 3)
在上述命令中:
- 前兩項 shape[0] 和 shape[1] 分別表示影像的寬度和高度。
- Shape[2] 代表通道數。
- 3 表示影像具有紅綠藍 (RGB) 通道。
類似地,size 屬性返回影像的大小。影像大小的命令如下:
>>> img.size 119880
ndarray 中的每個元素都表示一個影像畫素。
藉助下面提到的命令,我們可以訪問和操作任何畫素的值。
>>> p=img[50,50] >>> p array([ 1, 1, 255], dtype=uint8)
示例
以下程式碼將前 100X100 個畫素的顏色值更改為黑色。imshow() 函式可以驗證結果。
>>> for i in range(100):
for j in range(100):
img[i,j]=[0,0,0]
輸出
可以使用 split() 函式將影像通道拆分為各個平面。可以使用 merge() 函式合併通道。
split() 函式返回一個多通道陣列。
我們可以使用以下命令拆分影像通道:
>>> img = cv.imread("OpenCV_Logo.png", 1)
>>> b,g,r = cv.split(img)
現在,您可以對每個平面進行操作。
假設我們將藍色通道中的所有畫素設定為 0,則程式碼如下:
>>> img[:, :, 0]=0
>>> cv.imshow("image", img)
生成的影像將顯示如下:
廣告