基于opencv的图像梯形畸变(透视)校正
2015-08-08 22:33
627 查看
#include<cv.h> #include<highgui.h> //#pragma comment(lib, "cv.lib") //#pragma comment(lib, "cxcore.lib") //#pragma comment(lib, "highgui.lib") int main() { CvPoint2D32f srcTri[4], dstTri[4]; CvMat* warp_mat = cvCreateMat(3, 3, CV_32FC1); IplImage* src = NULL; IplImage* dst = NULL; src = cvLoadImage("E:\\图像处理\\6.bmp");//("D:\\1.jpg");//("E:\\图像处理\\25.bmp"); dst = cvCloneImage(src); dst->origin = src->origin; cvZero(dst); srcTri[0].x = 0; srcTri[0].y = 0; srcTri[1].x = src->width-1; srcTri[1].y = 0; srcTri[2].x = 0; srcTri[2].y = src->height-1; srcTri[3].x = src->width-1; srcTri[3].y = src->height-1; dstTri[0].x = src->width *0; dstTri[0].y = src->height * 0; dstTri[1].x = src->width * 0.9; dstTri[1].y = src->height * 0; dstTri[2].x = src->width * 0.21; dstTri[2].y = src->height ; dstTri[3].x = src->width*0.71 ; dstTri[3].y = src->height ; cvGetPerspectiveTransform(srcTri, dstTri, warp_mat); cvWarpPerspective(src, dst, warp_mat); cvNamedWindow("src", 1); cvShowImage("src", src); cvNamedWindow("Affine_Transform", 1); cvShowImage("Affine_Transform", dst); cvWaitKey(0); cvReleaseImage(&src); cvReleaseImage(&dst); cvReleaseMat(&warp_mat); return 0; }
运行效果
相关文章推荐
- Delphi使用OpenGL2d绘图之画图片Bmp的方法
- python中使用OpenCV进行人脸检测的例子
- opencv 做人脸识别 opencv 人脸匹配分析
- 使用opencv拉伸图像扩大分辨率示例
- OpenCV 2.4.3 C++ 平滑处理分析
- 利用Python和OpenCV库将URL转换为OpenCV格式的方法
- python结合opencv实现人脸检测与跟踪
- 在树莓派2或树莓派B+上安装Python和OpenCV的教程
- OpenCV配置,从来没有这么简单!
- ubuntu下opencv和qt的安装配置
- cocos2d Touche 事件响应原理(看见一篇好文章,怕弄丢了。记下来。)
- OpenCV学习笔记(二十五)——OpenCV图形界面设计Qt+VS2008
- 分享一些OpenCV实现立体视觉的经验
- 关于OpenCv图像变换与基本图形检测
- "应用程序正常初始化失败"-0xc0150002 解决办法
- OpenCV->HSV色彩空间
- opencv 内存泄露
- S3C2416 2D加速----转载
- OpenCV函数cvFindContours
- GDI Graphics In Delphi(Drawing Bitmaps, the TBitmap object )