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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Mat中的元素类型(如CV_8U)、范围、获取、格式转换

發(fā)布時間:2023/12/13 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 Mat中的元素类型(如CV_8U)、范围、获取、格式转换 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一般使用的灰度圖像元素是8位的uchar型(注意不是無符號整型,而是無符號字符型。元素值0~255),自定義Mat矩陣時,推薦使用8位無符號字符型,即CV_8U、CV_8UC3。

再說一遍,條件反射式的記住:一般見到的Mat的元素是8位無符號字符型,不是8位無符號整型。

【元素類型】

CV_8U(即CV_8UC1)、CV_8UC3、CV_32S、CV_32F等,16、64位用的少本文不討論。

U——usigned char(無符號字符型,不是無符號整型)

C——通道數(shù)

S——signed int(有符號整型)

【范圍與默認(rèn)值】

CV_8U——0~255,205
CV_8S——0~255,-51
CV_32S——int型的范圍,-842150451
CV_32F——浮點(diǎn)型的范圍,-431602080

對于圖像,顯示范圍整數(shù)0~255,小數(shù)0~1.0,所以float類型先將圖像歸一化,normalize(d, d, 1.0, 0.0, NORM_MINMAX)再顯示。

默認(rèn)值查看方式:

    Mat data(3, 3, CV_32F);
    cout << data << endl;

【具體元素的獲取】用.at()

.at()<類型>(行,列),中類型要與Mat中元素類型一致。注意行、列是從0索引開始的。所以2行3列處得寫成.at()<類型>(1,2)

灰度圖:cout<<(int)gray.at<uchar>(row,col)<<endl; //轉(zhuǎn)int正常顯示

彩色圖:

cout<<img.at<Vec3b>(row,col)<<endl; //b、g、r三元素的向量,Vec3b參考我的另一篇博客

cout<<(int)img.at<Vec3b>(row,col)[0]<<endl; //b的值

【格式轉(zhuǎn)換】

    Mat data1(3, 3, CV_8S);
    Mat data2;
    data2.convertTo(data2, CV_32F);
    cout << data1 << endl;
    cout << data2 << endl;

高精度往低精度轉(zhuǎn)換要注意范圍。

【多余的話】

1、Mat里元素類型為什么是uchar?

節(jié)省空間https://www.cnblogs.com/happyamyhope/p/7244538.html

總結(jié)

以上是生活随笔為你收集整理的Mat中的元素类型(如CV_8U)、范围、获取、格式转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。