Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Побудова карт стереодіспаратності

Реферат Побудова карт стереодіспаратності





ign="justify"> {(int x=0; x lt; mat1.cols; x ++)

{+=mat1 lt; float gt; (y, x); +=mat2 lt; float gt; (y, x);

}

} /=mat1.rows * mat1.cols; /=mat2.rows * mat2.cols; d1=0; d2=0; c=0; (int y=0; y lt; mat1.rows; y ++)

{(int x=0; x lt; mat1.cols; x ++)

{tmp1=(mat1 lt; float gt; (y, x) - m1); tmp2=(mat2 lt; float gt; (y, x) - m2); +=tmp1 * tmp1; +=tmp2 * tmp2; +=tmp1 * tmp2;

}

}=sqrt (d1);=sqrt (d2); /=d1 * d2; c;

}

var (const Mat amp; mat)

{m=0; (int y=0; y lt; mat.rows; y ++) (int x=0; x lt; mat.cols; x ++) +=mat lt; float gt; (y, x ); /=mat.rows * mat.cols; d=0; (int y=0; y lt; mat.rows; y ++) (int x=0; x lt; mat.cols; x ++) +=(mat lt; float gt; (y, x) - m) * (mat lt; float gt; (y, x) - m); /=mat.rows * mat.cols; d;

}

getMax (const Mat amp; mat)

{d=- 100000000; (int y=0; y lt; mat.rows; y ++) (int x=0; x lt; mat.cols; x ++) (d lt; mat lt; float gt; ( y, x))=mat lt; float gt; (y, x);

return d;

}


Файл «main.cpp» (Містить основний код програми і функцію, яка будує карту стереодіспаратностей з урахуванням заданих параметрів).

#include «opencv2.h»

#include lt; stdio.h gt;

#include lt; windows.h gt;

#include «correlation.h»

makeDispMap (Mat amp; mat1, Mat amp; mat2, int x_size, int y_size, float treshold)

{res (mat1.rows, mat1.cols, CV_32FC1); (int y=y_size/2; y lt; res.rows-y_size/2-1; y ++)

{(« b b b b b b b b b b b b b b b% .2f %%», (double) (y - y_size/2)/(res.rows - 1) * 100); (int x=x_size; x lt; res.cols-x_size - 1; x ++)

{max_value=- 1; max_shift_x=0; c=0; dy=0;

//for (int dy=- y_size/2; dy lt; y_size/2; dy ++)

//{(int dx=- x_size; dx lt; 0; dx ++)

{= getCorrelationCoef ((Rect (x, y-y_size/2, x_size, y_size)), (Rect (x + dx, y-y_size/2, x_size, y_size)));

//imshow («img1», mat1 (Rect (x, y-y_size/2, x_size, y_size)));

//imshow («img2», mat2 (Rect (x + dx, y-y_size/2, x_size, y_size)));

//waitKey (1);

//printf («% d% d% f n», x, dx, c); (max_value lt; c)

{_ value=c; _shift_x=dx;

}

}

//}

//printf («% f n», max_value);

//imshow («img1», mat1 (Rect (x, y-y_size/2, x_size, y_size)));

//imshow («img2», mat2 (Rect (x + max_shift_x, y-y_size/2, x_size, y_size)));

//waitKey (1); (max_value gt; treshold) lt; float gt; (y, x)=- max_shift_x; lt; float gt; (y, x)=0;

}

//imshow («map», res); (+1);

} («map»); (« n»); res;

}

main ()

{img=imread («1.jpg», CV_LOAD_IMAGE_GRAYSCALE); img1=img (Rect (0, 0, img.cols/2, img.rows)); img2=img (Rect (img.cols/2 , 0, img.cols/2, img.rows)); mat1; mat2; .convertTo (mat2, CV_32FC1, 1./255) ;. convertTo (mat1, CV_32FC1, 1./255); («img», mat1); (0); («img», mat2); (0);

(«img»); res=makeDispMap (mat1, mat2, 20, 4, 0); (res, res, 0, 1, CV_MINMAX); («res», res); («img», mat1 );

(res, res, 0, 255, CV_MINMAX); (mat1, mat1, 0, 255, CV_MINMAX);

(«res.bmp», res);

(«left.bmp», mat1);

waitKey (0);

}


Назад | сторінка 4 з 4





Схожі реферати:

  • Реферат на тему: Розробка алгоритму синтаксичного аналізу оператора виведення printf мови C ...
  • Реферат на тему: The Main Song, Or What Is There in Your Words?
  • Реферат на тему: The main principles of safety market economy
  • Реферат на тему: The constitutional law in the modern world: the main trends and forms of de ...
  • Реферат на тему: Grammar of the Text: its Basic Units and Main Features (based on the novel ...