資源簡介
effective large scale stereo matching,用于快速立體匹配,代碼量比較大,可以直接用在工程中。

代碼片段和文件信息
/*
Copyright?2011.?All?rights?reserved.
Institute?of?Measurement?and?Control?Systems
Karlsruhe?Institute?of?Technology?Germany
This?file?is?part?of?libelas.
Authors:?Andreas?Geiger
libelas?is?free?software;?you?can?redistribute?it?and/or?modify?it?under?the
terms?of?the?GNU?General?Public?License?as?published?by?the?Free?Software
Foundation;?either?version?3?of?the?License?or?any?later?version.
libelas?is?distributed?in?the?hope?that?it?will?be?useful?but?WITHOUT?ANY
WARRANTY;?without?even?the?implied?warranty?of?MERCHANTABILITY?or?FITNESS?FOR?A
PARTICULAR?PURPOSE.?See?the?GNU?General?Public?License?for?more?details.
You?should?have?received?a?copy?of?the?GNU?General?Public?License?along?with
libelas;?if?not?write?to?the?Free?Software?Foundation?Inc.?51?Franklin
Street?Fifth?Floor?Boston?MA?02110-1301?USA?
*/
#include?“StdAfx.h“
#include?“descriptor.h“
#include?“filter.h“
#include?
using?namespace?std;
Descriptor::Descriptor(uint8_t*?Iint32_t?widthint32_t?heightint32_t?bplbool?half_resolution)?{
??I_desc????????=?(uint8_t*)_mm_malloc(16*width*height*sizeof(uint8_t)16);
??uint8_t*?I_du?=?(uint8_t*)_mm_malloc(bpl*height*sizeof(uint8_t)16);
??uint8_t*?I_dv?=?(uint8_t*)_mm_malloc(bpl*height*sizeof(uint8_t)16);
??filter::sobel3x3(II_duI_dvbplheight);
??createDescriptor(I_duI_dvwidthheightbplhalf_resolution);
??_mm_free(I_du);
??_mm_free(I_dv);
}
Descriptor::~Descriptor()?{
??_mm_free(I_desc);
}
void?Descriptor::createDescriptor?(uint8_t*?I_duuint8_t*?I_dvint32_t?widthint32_t?heightint32_t?bplbool?half_resolution)?{
??uint8_t?*I_desc_curr;??
??uint32_t?addr_v0addr_v1addr_v2addr_v3addr_v4;
??
??//?do?not?compute?every?second?line
??if?(half_resolution)?{
??
????//?create?filter?strip
????for?(int32_t?v=4;?v
??????addr_v2?=?v*bpl;
??????addr_v0?=?addr_v2-2*bpl;
??????addr_v1?=?addr_v2-1*bpl;
??????addr_v3?=?addr_v2+1*bpl;
??????addr_v4?=?addr_v2+2*bpl;
??????for?(int32_t?u=3;?u ????????I_desc_curr?=?I_desc+(v*width+u)*16;
????????*(I_desc_curr++)?=?*(I_du+addr_v0+u+0);
????????*(I_desc_curr++)?=?*(I_du+addr_v1+u-2);
????????*(I_desc_curr++)?=?*(I_du+addr_v1+u+0);
????????*(I_desc_curr++)?=?*(I_du+addr_v1+u+2);
????????*(I_desc_curr++)?=?*(I_du+addr_v2+u-1);
????????*(I_desc_curr++)?=?*(I_du+addr_v2+u+0);
????????*(I_desc_curr++)?=?*(I_du+addr_v2+u+0);
????????*(I_desc_curr++)?=?*(I_du+addr_v2+u+1);
????????*(I_desc_curr++)?=?*(I_du+addr_v3+u-2);
????????*(I_desc_curr++)?=?*(I_du+addr_v3+u+0);
????????*(I_desc_curr++)?=?*(I_du+addr_v3+u+2);
????????*(I_desc_curr++)?=?*(I_du+addr_v4+u+0);
????????*(I_desc_curr++)?=?*(I_dv+addr_v1+u+0);
????????*(I_desc_curr++)?=?*(I_dv+addr_v2+u-1);
????????*(I_desc_curr++)?=?*(I_dv+addr_v2+u+1);
????????*(I_desc_curr++)?=?*(I_dv+addr_v3+u+0);
??????}
????}
????
??//?compute?full?descriptor?images
??}?else?{
????
????//?create?filter?strip
????for?(int32_t?v=3;?v
??????addr_v2?=?v*bpl;
??????addr_v0?=?addr_v2-2*bp
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????413696??2015-12-02?21:36??largeScaleOmp\Debug\largeScaleOmp.exe
?????文件????1196996??2015-12-02?21:36??largeScaleOmp\Debug\largeScaleOmp.ilk
?????文件????1641472??2015-12-02?21:36??largeScaleOmp\Debug\largeScaleOmp.pdb
?????文件????2359296??2015-12-02?21:07??largeScaleOmp\ipch\largescaleomp-a40dcaa8\largescaleomp-ca41a80b.ipch
?????文件???????5408??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\cl.command.1.tlog
?????文件??????49508??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\CL.read.1.tlog
?????文件???????5632??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\CL.write.1.tlog
?????文件??????34856??2015-12-02?21:08??largeScaleOmp\largeScaleOmp\Debug\desc
?????文件?????535834??2015-12-02?21:09??largeScaleOmp\largeScaleOmp\Debug\elas.obj
?????文件??????36866??2015-12-02?21:08??largeScaleOmp\largeScaleOmp\Debug\filter.obj
?????文件????????406??2015-12-02?20:57??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.exe.em
?????文件????????472??2015-12-02?20:57??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.exe.em
?????文件????????381??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.exe.intermediate.manifest
?????文件?????????56??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.lastbuildstate
?????文件???????4505??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.log
?????文件?????252337??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.obj
?????文件????1179648??2015-12-02?21:08??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.pch
?????文件????????713??2015-12-02?20:54??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.vcxprojResolveAssemblyReference.cache
?????文件??????????0??2015-12-02?20:54??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.write.1.tlog
?????文件????????216??2015-12-02?20:57??largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp_manifest.rc
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
?????文件??????????2??2015-12-02?21:36??largeScaleOmp\largeScaleOmp\Debug\li
............此處省略78個文件信息
- 上一篇:基于圖切算法的交互式圖像分割技術
- 下一篇:OpenCV計算物體重心坐標代碼以及工程
評論
共有 條評論