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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Opencv中Mat的data数据只定义为uchar*类型,

發布時間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Opencv中Mat的data数据只定义为uchar*类型, 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

opencv中Mat的數據定義為指向uchar 的指針,而構造函數又提供了許多其他類型。

其實數據在內存中是一維存儲的,而圖像基本結構是二維的,3D圖像還會是三維的;同時,彩色圖像還有多個channel(通道);為了便于編程使用,opencv對一維數據進行矩陣的抽象封裝,這個就是Mat類;Mat是一個基礎類,封裝了構造函數,重載運算符和基礎的運算函數(很多類似于matlab的函數);Mat_類就是利用模板類型繼承于Mat,所以opencv是有模板類型的,就是Mat_。
不管是什么類型,Mat類中的data成員是一個unsigned char *,指向數據的第一個字節(同時還定義了datastart,dataend等,參看源代碼),當你使用高級類型的getMat().data函數獲得該對象的數據時,可以通過強制轉換訪問來獲得你的數據類型比如我想看float類型圖像的第[3,5]像素點的值,可以:((float )data)[5width+3]來訪問,這樣的訪問比較原始。一般opencv core里面提供的算法是輸入是InputArray和OutputArray;這兩個和Mat有很大的關系,void * 就是指向Mat對象,同時加入了一些flag來判斷Mat的類型比如是不是img等。
轉載自:https://zhidao.baidu.com/question/872977803343572692.html

總結

以上是生活随笔為你收集整理的Opencv中Mat的data数据只定义为uchar*类型,的全部內容,希望文章能夠幫你解決所遇到的問題。

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