91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12KB
    文件類型: .cpp
    金幣: 1
    下載: 2 次
    發(fā)布日期: 2021-06-06
  • 語言: C/C++
  • 標(biāo)簽: Stereo??Match??

資源簡介

Stereo Match 立體匹配算法,包括SSD SAD SSD NCC NSSD Census 等基本算法,。用C/C++語言編寫,適合初學(xué)者學(xué)習(xí)!

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include??

#include?“cv.h“
#include?“highgui.h“

//?#define?IMGHEIGHT?240
//?#define?IMGWIDTH??320

int?IMGHEIGHT;
int?IMGWIDTH;

#define?DOMAIN????128
#define?WndWidth??9
#define?CODEWIDTH?80

typedef?struct
{
int?codebit[80];
}CodeStruct;

void?SAD(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity);
void?SSD(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity);
void?NCC(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity);
void?NSSD(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity);
void?Census(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity);
void?Rank(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity);
void?CensusTransform(unsigned?char?*Image?CodeStruct?Code[]);
int?HammingDist(?CodeStruct?Code1?CodeStruct?Code2?);
void?RankTransform(unsigned?char?*Image?unsigned?char?*RankValue);


void?SAD(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity)
{
int?ijd;
int?absDiff;
int?minSum;
int?disp;
int?*Col;
int?*Wnd;

Col?=?new?int[IMGWIDTH*DOMAIN];
Wnd?=?new?int[IMGWIDTH*DOMAIN];

for(?i=0;?i {
Col[i]=0;
Wnd[i]=0;
}

for(?j=0;?j {
for(?i=0;?i {
minSum=100000;
disp=0;
for(?d=0;?d {
if(?i>=DOMAIN?)
absDiff=abs(LeftImg[j*IMGWIDTH+i]-RightImg[j*IMGWIDTH+i-d]);
else
absDiff=0;

Col[i*DOMAIN+d]=Col[i*DOMAIN+d]+absDiff;

if(?j>WndWidth?)
{
if(?i>DOMAIN?)
absDiff=abs(LeftImg[(j-WndWidth)*IMGWIDTH+i]-RightImg[(j-WndWidth)*IMGWIDTH+i-d]);
else
absDiff=0;
Col[i*DOMAIN+d]=Col[i*DOMAIN+d]-absDiff;
}

if(?i Wnd[i*DOMAIN+d]=0;
else
Wnd[i*DOMAIN+d]=Wnd[(i-1)*DOMAIN+d]+Col[i*DOMAIN+d]
-Col[(i-WndWidth)*DOMAIN+d];

/*
if(?i>WndWidth?)
Wnd[i*DOMAIN+d]=Wnd[(i-1)*DOMAIN+d]+Col[i*DOMAIN+d]-Col[(i-WndWidth)*DOMAIN+d];
else?
{
if(?i>d?)
absDiff=abs(LeftImg[j*IMGWIDTH+i]-RightImg[j*IMGWIDTH+i-d]);
else
absDiff=0;

Wnd[i*DOMAIN+d]=Wnd[i*DOMAIN+d]+absDiff;
if(?j>WndWidth?)
{
if(?i>d?)
absDiff=abs(LeftImg[(j-WndWidth)*IMGWIDTH+i]-RightImg[(j-WndWidth)*IMGWIDTH+i-d]);
else
absDiff=0;
Wnd[i*DOMAIN+d]=Wnd[i*DOMAIN+d]-absDiff;
}
}
*/
if(?Wnd[i*DOMAIN+d] {
minSum=Wnd[i*DOMAIN+d];
disp=d*15;
}

}

if(?j>WndWidth?&&?i>DOMAIN?)
Disparity[?j?*?IMGWIDTH+?i]=disp;

}

}

delete?[]Col;
delete?[]Wnd;

}

void?SSD(unsigned?char?*LeftImg?unsigned?char?*RightImg?unsigned?char?*Disparity)
{
int?ijd;
int?minSum;
int?sqDiff;
int?disp;
int?*Col;
int?*Wnd;

Col?=?new?int[

評(píng)論

共有 條評(píng)論