图像极坐标变换

来源:互联网 发布:用php输出404状态 编辑:程序博客网 时间:2024/06/11 16:20

使用到函数cvLogPolar( const CvArr *src ,CvArr *dst ,CvPoint2D32f center ,double m ,int flags) ,函数实现的功能就是把图像的二维坐标表示转变为极坐标下,对像素值不做改变,函数处理结果对于射线形状比较有用,其他的图片处理后还不如原图好看,美观。参数center表示你要转变的极坐标中心点,m表示极坐标变换后的放大倍数,因为极函数相当于把数值缩小,必须有一个放大过程,flags是变换过程中使用的插值方式,比如CV_INTER_LINEAR

#include <cv.h>  
#include <cxcore.h>  
#include <highgui.h>  
#include <stdio.h>  
using namespace std;
int main()
{
IplImage* src = cvLoadImage("ray.jpg");
if (!src){
cout << "IMG is not exist ." << endl;
return 0;
}
IplImage *log = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, src->nChannels);//反转
IplImage *pow = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, src->nChannels);//翻转
cvLogPolar(src, log, cvPoint2D32f(240, 150),70);
cvNamedWindow("log"); cvShowImage("log", log);
cvSaveImage("log.jpg", log);
cvWaitKey(0);
cvDestroyAllWindows();
return 0;
}

                                原图                                                                               结果图

          

0 0