• 大小: 7.65MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-16
  • 语言: 其他
  • 标签: OpenCV  重心坐标  

资源简介

说明: 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 < src->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 < src->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 < src->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 < src->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.xml

     文件          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.embed.manifest

     文件        472  2015-12-11 17:37  FindGravity\FindGravity\Debug\FindGravity.exe.embed.manifest.res

     文件        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\link-cvtres.read.1.tlog

     文件          2  2015-12-11 17:37  FindGravity\FindGravity\Debug\link-cvtres.write.1.tlog

     文件       1672  2015-12-11 17:37  FindGravity\FindGravity\Debug\link.command.1.tlog

     文件       3744  2015-12-11 17:37  FindGravity\FindGravity\Debug\link.read.1.tlog

     文件        768  2015-12-11 17:37  FindGravity\FindGravity\Debug\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论