加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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 ;

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有