透视变换

在csdn有博客,可这里查询积分得是正值,所以没办法只有写一片喽~

很好的学习地方!

写篇关于Opencv数极变换的例子把。

当然Opencv对于极坐标变换也是有基础的函数的,这个跟前面说的两个变换一样。一个是仿射变换cvWarpAffine(),透视变换中用到的重映射cvRemap();另一个是拉普拉斯变换和霍夫圆霍夫线中的卷积cvFilter2D()和sobel()。

 #include <cv.h>
#include <highgui.h>

int main(int argc, char** argv)
{
    IplImage* src;
   double M;
    if( argc == 3 && ((src=cvLoadImage(argv[1],1)) != 0 ))
    {
      M = atof(argv[2]);
        IplImage* dst = cvCreateImage( cvGetSize(src), 8, 3 );
        IplImage* src2 = cvCreateImage( cvGetSize(src), 8, 3 );
        cvLogPolar( src,  dst, cvPoint2D32f(src->width/2,src->height/2),  //变换的中心点是源图片的中心点
                    M, CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS );//M缩放比例
        cvLogPolar( dst, src2, cvPoint2D32f(src->width/2,src->height/2),//再次变回来
                    M, CV_INTER_LINEAR+CV_WARP_INVERSE_MAP );
        cvNamedWindow( "log-polar", 1 );
        cvShowImage( "log-polar", dst );
        cvNamedWindow( "inverse log-polar", 1 );
        cvShowImage( "inverse log-polar", src2 );
        cvWaitKey();
    }
    return 0;
}
终于可以不用把原图片像色彩变换那种的改变成单通道的灰度图(可以看出左边的变换并不需要),也不用canny了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值