資源簡介
借助于Matlab的接口函數,在Visual Studio中使用C++語言讀取*.mat文件中的數據(這里主要是2維矩陣(灰度圖像)和3維矩陣(彩色圖像))到OpenCV中的Mat數據結構中并顯示圖像,同時實現將灰度圖像轉化為偽彩色圖像(類型為Matlab中的colormap jet),最后調用Windows的API函數實現窗口尺寸的自由調整。

代碼片段和文件信息
#include?“Jet.h“
CJet::CJet(int?N/*?=?256*/)
{
R?=?new?double[N];
G?=?new?double[N];
B?=?new?double[N];
double?step?=?1.0?/?N?*?4;
int?seg?=?N?/?8;
int?flagR?flagG?flagB;
for?(int?k?=?0;?k? {
if?(k? {
flagR?=?0;
flagG?=?0;
flagB?=?1;
}
else?if?(k?3?*?seg)
{
flagR?=?0;
flagG?=?1;
flagB?=?0;
}
else?if?(k?5?*?seg)
{
flagR?=?1;
flagG?=?0;
flagB?=?-1;
}
else?if?(k?7?*?seg)
{
flagR?=?0;
flagG?=?-1;
flagB?=?0;
}
else
{
flagR?=?-1;
flagG?=?0;
flagB?=?0;
}
if?(k?==?0)
{
R[0]?=?0;
G[0]?=?0;
B[0]?=?0.5?+?step;
}
else
{
R[k]?=?R[k?-?1]?+?flagR*step;
G[k]?=?G[k?-?1]?+?flagG*step;
B[k]?=?B[k?-?1]?+?flagB*step;
}
}
}
CJet::~CJet()
{
Destory();
}
void?CJet::Destory()
{
if?(R) delete[]?R;
if(G) delete[]?G;
if(B) delete[]?B;
R?=?nullptr;
G?=?nullptr;
B?=?nullptr;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????662816??2016-12-30?15:20??Demo\Demo\data\data.mat
?????文件???????7483??2016-12-31?13:56??Demo\Demo\Demo.vcxproj
?????文件???????1148??2016-12-31?13:56??Demo\Demo\Demo.vcxproj.filters
?????文件????????991??2016-12-31?14:04??Demo\Demo\Jet.cpp
?????文件????????158??2016-12-31?14:00??Demo\Demo\Jet.h
?????文件???????4787??2017-01-06?13:08??Demo\Demo\main.cpp
?????文件???????1312??2016-12-29?09:46??Demo\Demo.sln
????..A..H.?????34816??2017-01-06?14:21??Demo\Demo.v12.suo
?????文件?????662816??2016-12-30?15:20??Demo\x64\Release\data\data.mat
?????文件??????22528??2017-01-06?14:21??Demo\x64\Release\Demo.exe
?????目錄??????????0??2017-01-06?14:22??Demo\x64\Release\data
?????目錄??????????0??2017-01-06?14:21??Demo\Demo\data
?????目錄??????????0??2017-01-06?14:22??Demo\x64\Release
?????目錄??????????0??2017-01-06?14:22??Demo\Demo
?????目錄??????????0??2017-01-06?14:22??Demo\x64
?????目錄??????????0??2017-01-06?14:21??Demo
-----------?---------??----------?-----??----
??????????????1398855????????????????????16
評論
共有 條評論