您的位置:首页 > 其它

图像极坐标变换

2016-01-14 11:34 393 查看
使用到函数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;

}

                                原图                                                                               结果图


          
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图像极坐标变换