資源簡介
說明:
http://blog.csdn.net/wangyaninglm/article/details/49618769
代碼片段和文件信息
//?FindGravity.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include?
#include?
#include?“cv.h“?
#include?“highgui.h“?
#include???
#include?
#pragma?comment(lib“opencv_core2410d.lib“)????????????????
#pragma?comment(lib“opencv_highgui2410d.lib“)????????????????
#pragma?comment(lib“opencv_imgproc2410d.lib“)???
using?namespace?std;
using?namespace?cv;
void?FindGravity()
{
}
/**?計算二值圖像的重心
*?@param[in]?src??輸入的待處理圖像
*?@param[out]?center?重心坐標
*?@retval?0??操作成功
*?@retval?-1?操作失敗
*?@note?輸入圖像是二值化圖像
*?@note?xc=M10/M00?yc=M01/M00?其中?Mx_ordery_order=SUMxy(I(xy)*x^x_order*y^y_order)
?*/
?static?int?aoiGravityCenter(IplImage?*src?CvPoint?¢er)
?{
??//if(!src)
??//?return?GRAVITYCENTER__SRC_IS_NULL;
??double?m00?m10?m01;
??CvMoments?moment;
??cvMoments(?src?&moment?1);
??m00?=?cvGetSpatialMoment(?&moment?0?0?);
??if(?m00?==?0)?
???return?1;
??m10?=?cvGetSpatialMoment(?&moment?1?0?);
??m01?=?cvGetSpatialMoment(?&moment?0?1?);
??center.x?=?(int)?(m10/m00);
??center.y?=?(int)?(m01/m00);
??return?0;
?}?
?IplImage*?binary_image(IplImage*?src)
?{
?
//?cvThreshold(?src?src?100?255?CV_THRESH_BINARY?);//100?is?the?thredhold?
?IplImage*?one_channel?=?cvCreateImage(cvSize(src->widthsrc->height)IPL_DEPTH_8U0);
?for(int?y?=?0;y?height;y++)
?{
?char?*ptr=?src->imageData?+?y?*?src->widthStep;
?char?*p_one_channel?=?one_channel->imageData?+?y?*?one_channel->widthStep;
?for(int?x?=?0;x?width;x++)
?{
?int?temp?=?ptr[3*x];
?if?(temp?!=?0)//不是黑色也就是說不是背景
?{
?p_one_channel[x]?=?255;//設置為白色
?}
?else
?{
?p_one_channel[x]?=?0;
?}
?//ptr[3*x]=
?//ptr[3*x+1]=
?//ptr[3*x+2]=;?
?}
?}
?return?one_channel;
?}
?void?showDisparity(int?maxint?weiyiIplImage*?src)
?{
int?danwei?=?255/max;
int?gray_pixel?=?weiyi*danwei;
cout<
IplImage*?one_channel?=?cvCreateImage(cvSize(src->widthsrc->height)IPL_DEPTH_8U0);
for(int?y?=?0;y?height;y++)
{
char?*ptr=?src->imageData?+?y?*?src->widthStep;
char?*p_one_channel?=?one_channel->imageData?+?y?*?one_channel->widthStep;
for(int?x?=?0;x?width;x++)
{
int?temp?=?ptr[x];
if?(temp?!=?0)//不是黑色也就是說不是背景
{
p_one_channel[x]?=?gray_pixel;//設置為視差
}
else
{
p_one_channel[x]?=?0;
}
//ptr[3*x]=
//ptr[3*x+1]=
//ptr[3*x+2]=;?
}
}
cvNamedWindow(?“disparity“?1?);?
cvShowImage(?“disparity“?one_channel?);
?}
int?_tmain(int?argc?_TCHAR*?argv[])
{
string?str_name_left?=?“lamp_left.bmp“;
string?str_name_right?=?“lamp_right.bmp“;
IplImage*?src_left;
IplImage*?src_right;?
IplImage*?draw?=?cvLoadImage(str_name_left.c_str()1);//繪制重心的圖像
if?((src_left?=?cvLoadImage(str_name_left.c_str()1))!=0)
{
//src?=?binary_image(src);
cvNamedWind
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????28672??2015-12-11?17:38??FindGravity\Debug\FindGravity.exe
?????文件???????1266??2015-12-11?17:38??FindGravity\Debug\FindGravity.exe.CodeAnalysisLog.xm
?????文件??????????0??2015-12-11?17:37??FindGravity\Debug\FindGravity.exe.lastcodeanalysissucceeded
?????文件????1526784??2015-12-11?17:38??FindGravity\Debug\FindGravity.instr.pdb
?????文件????1403904??2015-12-11?17:37??FindGravity\Debug\FindGravity.pdb
?????文件???????1598??2015-12-11?17:37??FindGravity\FindGravity\Debug\cl.command.1.tlog
?????文件??????24022??2015-12-11?17:37??FindGravity\FindGravity\Debug\CL.read.1.tlog
?????文件????????988??2015-12-11?17:37??FindGravity\FindGravity\Debug\CL.write.1.tlog
?????文件???????1671??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.Build.CppClean.log
?????文件????????406??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.exe.em
?????文件????????472??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.exe.em
?????文件????????381??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.exe.intermediate.manifest
?????文件?????????54??2015-12-11?17:38??FindGravity\FindGravity\Debug\FindGravity.lastbuildstate
?????文件??????17795??2015-12-11?17:38??FindGravity\FindGravity\Debug\FindGravity.log
?????文件?????190423??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.obj
?????文件????1179648??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.pch.codeanalysis
?????文件????5308416??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.pch.codeanalysisast
?????文件????????713??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.vcxprojResolveAssemblyReference.cache
?????文件??????????0??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity.write.1.tlog
?????文件????????212??2015-12-11?17:37??FindGravity\FindGravity\Debug\FindGravity_manifest.rc
?????文件??????????2??2015-12-11?17:37??FindGravity\FindGravity\Debug\li
?????文件??????????2??2015-12-11?17:37??FindGravity\FindGravity\Debug\li
?????文件???????1672??2015-12-11?17:37??FindGravity\FindGravity\Debug\li
?????文件???????3744??2015-12-11?17:37??FindGravity\FindGravity\Debug\li
?????文件????????768??2015-12-11?17:37??FindGravity\FindGravity\Debug\li
?????文件????????404??2015-12-11?17:37??FindGravity\FindGravity\Debug\mt.command.1.tlog
?????文件????????172??2015-12-11?17:37??FindGravity\FindGravity\Debug\mt.read.1.tlog
?????文件????????326??2015-12-11?17:37??FindGravity\FindGravity\Debug\mt.write.1.tlog
?????文件????????560??2015-12-11?17:37??FindGravity\FindGravity\Debug\rc.command.1.tlog
?????文件????????298??2015-12-11?17:37??FindGravity\FindGravity\Debug\rc.read.1.tlog
............此處省略101個文件信息
評論
共有 條評論