日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]在使用OpenCV開發(fā)程序時(shí),如果想查看矩陣數(shù)據(jù),比較費(fèi)勁,而matlab查看數(shù)據(jù)很方便,有一種方法,是matlab和c++混合編程,可以用matlab訪問c++的內(nèi)存,可惜我不會(huì)這種方式,所以我就把

在使用OpenCV開發(fā)程序時(shí),如果想查看矩陣數(shù)據(jù),比較費(fèi)勁,而matlab查看數(shù)據(jù)很方便,有一種方法,是matlab和c++混合編程,可以用matlab訪問c++的內(nèi)存,可惜我不會(huì)這種方式,所以我就把數(shù)據(jù)寫到文件里,用matlab讀出來,然后用matlab各種高級(jí)功能查看數(shù)據(jù)的值。


1、將Mat的數(shù)據(jù)寫入指定文件

為了方便拿來主義者,我直接把這個(gè)函數(shù)貼出來,你只要把代碼拷貝到自己的代碼里,就可以直接用了。如果有問題,趕緊評(píng)論,我會(huì)盡快看看問題出在哪里。


#include#include#include#includeusing?namespace?std;
using?namespace?cv;

int?abWrite(const?Mat?&im,?const?string?&fname)
{
??ofstream?ouF;
??ouF.open(fname.c_str(),?std::ofstream::binary);
??if?(!ouF)
??{
????cerr?<<?"failed?to?open?the?file?:?"?<<?fname?<<?endl;
????return?0;
??}
??for?(int?r?=?0;?r?<?im.rows;?r++)
??{
????ouF.write(reinterpret_cast(im.ptr(r)),?im.cols*im.elemSize());
??}
??ouF.close();
??return?1;
}


2、用matlab讀出二進(jìn)制文件中的數(shù)據(jù)

在用matlab來讀數(shù)據(jù)的時(shí)候,你必須知道Mat的寬度,高度,通道數(shù),單個(gè)通道元素的類型!

以三通道,UCHAR為例,讀取數(shù)據(jù),顯示數(shù)據(jù)。


C++程序,用于調(diào)用abWrite函數(shù)。


Mat?orgIm?=?imread("im.jpeg");
abWrite(orgIm,?"./orgIm_8UC3.dat");


Matlab程序,讀出orgIm_8UC3.dat的數(shù)據(jù),并調(diào)整為RGB數(shù)據(jù)顯示。



width??=?321;?%?這個(gè)地方你要指定為你自己的矩陣的寬度
height?=?481;?%?這里也要指定為你自己的矩陣的高度
channels?=?3;?%?通道數(shù)
fs?=?fopen('orgIm_8UC3.dat',?'rb');
db?=?fread(fs,?'uint8');?%?注意,這里用的是unsigned?int8
fclose(fs);

ou?=?reshape(db,?channels*height,?width);?%?調(diào)整顯示格式

im(:,:,1)?=?ou(3:3:end,?:)';?%?R通道
im(:,:,2)?=?ou(2:3:end,?:)';?%?G通道
im(:,:,3)?=?ou(1:3:end,?:)';?%?B通道
figure;?imshow(uint8(im))?%?一定要記得轉(zhuǎn)換為uint8



我的用的測試圖像:



執(zhí)行matlab后的顯示圖像:



這個(gè)實(shí)驗(yàn)說明,abWrite很大可能是沒有問題的,如果你愿意測試,趕緊寫個(gè)代碼測試下吧。測試有問題,歡迎評(píng)論,我會(huì)盡快解決。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉