opencv atan2函数学习
(2012-08-17 17:16:16)
标签:
it |
分类: opencv |
#include<iostream>
#include<dirent.h>
#include"highgui.h"
#include"cxcore.h"
#include"cv.h"
#include<boost/lexical_cast.hpp>
using namespace std;
using namespace boost;
int main()
{
IplImage
*img=cvLoadImage("/home/dz/data/imageS/2164.jpg",1);
cout<<img->width<<endl;
cout<<img->height<<endl;
CvPoint
cen=cvPoint(img->width/2,img->height/2);
CvPoint
p1=cvPoint(img->width/2+sqrt(3)/2*30,img->height/2+30);
CvPoint
p2;
//
p2.x=cen.x+sqrt((p1.x-cen.x)*(p1.x-cen.x)+(p1.y-cen.y)*(p1.y-cen.y))*cos(CV_PI/6);
//
p2.y=cen.y+sqrt((p1.x-cen.x)*(p1.x-cen.x)+(p1.y-cen.y)*(p1.y-cen.y))*sin(CV_PI/6);
cout<<-atan2(1,1.732)+atan2(1,1)<<endl;
cout<<-(2*CV_PI+atan2(-1,1.732))+2*CV_PI+atan2(-1,1)<<endl;
cout<<atan2(-1,1)<<endl;
cout<<atan2(-1,1.732)<<endl;
cout<<endl;
cout<<atan2(-1,0)<<endl;
p2.x=p1.x+50*cos(4.0/3*CV_PI);
p2.y=p1.y+50*sin(4.0/3*CV_PI);
double theta=CV_PI/6;
double len=sqrt((p1.x-cen.x)*(p1.x-cen.x)+(p1.y-cen.y)*(p1.y-cen.y));
CvPoint p3=cvPoint(50,120);
double cc=CV_PI/3-theta;
CvPoint cen2=cvPoint(p3.x+len*cos(cc),p3.y+len*sin(cc));
cvCircle(img,p3,3,CV_RGB(255,0,0),1,8,3);
cvCircle(img,cen2,3,CV_RGB(0,255,0),1,8,3);
//
cvCircle(img,p1,3,CV_RGB(255,0,0),1,8,3);
//
cvCircle(img,p2,3,CV_RGB(0,255,0),1,8,3);
//
cvLine(img,p1,cen,CV_RGB(255,0,0));
cvNamedWindow("a");
cvShowImage("a",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("a");
return 0
;
}
#include<dirent.h>
#include"highgui.h"
#include"cxcore.h"
#include"cv.h"
#include<boost/lexical_cast.hpp>
using namespace std;
using namespace boost;
int main()
{
//
//
cout<<-atan2(1,1.732)+atan2(1,1)<<endl;
cout<<-(2*CV_PI+atan2(-1,1.732))+2*CV_PI+atan2(-1,1)<<endl;
cout<<atan2(-1,1)<<endl;
cout<<atan2(-1,1.732)<<endl;
cout<<endl;
cout<<atan2(-1,0)<<endl;
p2.x=p1.x+50*cos(4.0/3*CV_PI);
p2.y=p1.y+50*sin(4.0/3*CV_PI);
double theta=CV_PI/6;
double len=sqrt((p1.x-cen.x)*(p1.x-cen.x)+(p1.y-cen.y)*(p1.y-cen.y));
CvPoint p3=cvPoint(50,120);
double cc=CV_PI/3-theta;
CvPoint cen2=cvPoint(p3.x+len*cos(cc),p3.y+len*sin(cc));
cvCircle(img,p3,3,CV_RGB(255,0,0),1,8,3);
//
//
//
}
前一篇:ubuntu数据库基础入门
后一篇:将文件间的编译依存关系降至最低