日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenCV中圖像以Mat類型保存時各通道數據在內存中的組織形式及python代碼訪問各通道數據的簡要方式

以最簡單的4 x 5三通道圖像為例,其在內存中Mat類型的數據組織形式如下:

?

每一行的每一列像素的三個通道數據組成一個一維數組,一行像素組成一個二維數組,整幅圖像組成一個三維數組,即:

Mat.data[4, 5, 3] = [

[[B0, G0, R0],[B1, G1, R1],[B2, G2, R2],[B3, G3, R3],[B4, G4, R4]],

[[B5, G5, R5],[B6, G6, R6],[B7, G7, R7],[B8, G8, R8],[B9, G9, R9]],

[[B10, G10, R10],[B11, G11, R11],[B12, G12, R12],[B13, G13, R13],[B14, G14, R14]],

[[B15, G15, R15],[B16, G16, R16],[B17, G17, R17],[B18, G18, R18],[B19, G19, R19]]

]

我們通過python單獨訪問每個通道的數據可以采用切片(Slice)操作的方是:

img_blue?? = img_mat[:, :, 0]

img_green = img_mat[:, :, 1]

img_red??? = img_mat[:, :, 2]

上述代碼有些抽象,啟動python我們模擬操作一下,控制臺輸入python,進入shell,導入numpy(import numpy as np),然后輸入如下語句:

a = np.arange(36).reshape(4, 5, 3)

我們模擬了一個4行、3列、3通道的圖像數據,其內容如下:

我們隨便取一通道的數據,比如BGR三通道的G通道,也就是第2個通道,繼續在python的shell界面輸入如下指令:

a[:, :, 1]

數據如下:

上述數據是一個二維數組:每一行的G通道數據組成一個一維數組,整幅圖像的G通道數據組成一個二維數組。

posted on 2018-09-29 21:09 Neo-T 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/neo-T/p/9732974.html

總結

以上是生活随笔為你收集整理的OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。