密集透视变换 cvWarpPerspective
2014-08-14 11:21
417 查看
核心函数:
cvGetPerspectiveTransform,cvWarpPerspective
步骤:
先用cvGetPerspectiveTransform(形变,拉伸,收缩,源目标图像四个点对应确定)求出变换矩阵,然后用cvWarpPerspective进行密集透视变换
程序:
代码:
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1539819
cvGetPerspectiveTransform,cvWarpPerspective
步骤:
先用cvGetPerspectiveTransform(形变,拉伸,收缩,源目标图像四个点对应确定)求出变换矩阵,然后用cvWarpPerspective进行密集透视变换
程序:
代码:
#include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> int WarpPerspective(int argc,char** argv) //warp:弯曲的 perspective:透射的 { IplImage* src=cvLoadImage("e:\\picture\\4.jpg"); IplImage* dst=cvCreateImage(cvGetSize(src),src->depth,src->nChannels); //定义原图像目标图像对应的四个脚的坐标 CvPoint2D32f SrcPt[4]; CvPoint2D32f DstPt[4]; SrcPt[0].x=0; //src top left SrcPt[0].y=0; SrcPt[1].x=src->width-1; //src top right SrcPt[1].y=0; SrcPt[2].x=0; //src buttom left SrcPt[2].y=src->height-1; SrcPt[3].x=src->width-1; //src buttom right SrcPt[3].y=src->height-1; DstPt[0].x=(dst->width-1)*0.1; //dst top left DstPt[0].y=(dst->height-1)*0.1; DstPt[1].x=(dst->width-1)*0.85; //dst top right DstPt[1].y=(dst->height-1)*0.15; DstPt[2].x=(dst->width-1)*0.2; //dst buttom left DstPt[2].y=(dst->height-1)*0.8; DstPt[3].x=(dst->width-1)*0.7; //dst buttom right DstPt[3].y=(dst->height-1)*0.7; CvMat* WarpMat=cvCreateMat(3,3,CV_32FC1); cvGetPerspectiveTransform(SrcPt,DstPt,WarpMat); //获取变换矩阵 cvWarpPerspective(src,dst,WarpMat,9,cvScalar(0,255,0)); //密集透视变换 cvNamedWindow("src"); cvNamedWindow("dst"); cvShowImage("src",src); cvShowImage("dst",dst); cvWaitKey(0); cvDestroyWindow("src"); cvDestroyWindow("dst"); cvReleaseImage(&src); cvReleaseImage(&dst); return 0; }
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1539819
相关文章推荐
- cvWarpPerspective:透视变换
- 图像变换 - 图像拉伸、收缩、扭曲、旋转 - 透视变换(cvWarpPerspective)
- 【OpenCV3】透视变换——cv::getPerspectiveTransform()与cv::warpPerspective()详解
- opencv之透视变换cvWarpPerspective
- cvPerspectiveTransform
- opencv透视变换GetPerspectiveTransform的总结
- opencv之WarpPerspective透视变化
- cvWarpAffine:仿射变换
- 透视变换矩阵(单应矩阵)计算:findHomography 与 getPerspectiveTransform
- cvPerspectiveTransform
- 稠密仿射变换 cvWarpAffine
- 透视变换的原理推导(cvGetPerspectiveTransform)
- 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[2] - 透视变换(cvWarpPerspective)
- 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[2] - 透视变换(cvWarpPerspective)
- cvWarpAffine( src, dst, warp_mat ); //对图像做仿射变换
- SimpleCV中shear()函数和warp()函数的区别
- SimpleCV中shear()函数和warp()函数的区别
- opencv3_java 图像透视视角转换Perspective warpPerspective
- CV论文笔记(三)Convolutional-De-Convolutional Networks for Precise Temporal Action Localization in Untrimm
- OpenGL glm库的投影矩阵公式 glm::perspective