[opencv] 图像几何变换:旋转,缩放,斜切
2016-07-23 12:13
495 查看
几何变换
几何变换可以看成图像中物体(或像素)空间位置改变,或者说是像素的移动。几何运算需要空间变换和灰度级差值两个步骤的算法,像素通过变换映射到新的坐标位置,新的位置可能是在几个像素之间,即不一定为整数坐标。这时就需要灰度级差值将映射的新坐标匹配到输出像素之间。最简单的插值方法是最近邻插值,就是令输出像素的灰度值等于映射最近的位置像素,该方法可能会产生锯齿。这种方法也叫零阶插值,相应比较复杂的还有一阶和高阶插值。
插值算法感觉只要了解就可以了,图像处理中比较需要理解的还是空间变换。
空间变换
空间变换对应矩阵的仿射变换。一个坐标通过函数变换的新的坐标位置:// ImageRotation2.cpp : 定义控制台应用程序的入口点。 // 本文代码参考:http://www.cnblogs.com/slysky/archive/2012/03/21/2410743.html #include "stdafx.h" #include <opencv2/core/core.hpp> //cvGetSize cvCreateImage #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> //cvResize cvInitMatHeader cvGetMinMaxHistValue cvCvtColor #include <opencv2/imgproc/imgproc.hpp> #ifdef _DEBUG #pragma comment(lib, "opencv_core244d") #pragma comment(lib, "opencv_highgui244d") #pragma comment(lib, "opencv_imgproc244d") //cvResize #else #pragma comment(lib, "opencv_core244") #pragma comment(lib, "opencv_highgui244") #pragma comment(lib, "opencv_imgproc244") //cvResize #endif using namespace std; //隐藏控制台窗口 #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") int main( ) { //读入图像 //Mat src = imread( "./images/baboon.jpg", 1 ); //src = rotateImage3(src); int degree = 30; IplImage *src = cvLoadImage("./images/meng3.jpg",CV_LOAD_IMAGE_UNCHANGED); rotateImage(src, degree); //src = rotateImage1(src, degree); //src = rotateImage2(src, degree); waitKey(0); return 0; }
View Code
本文转自:http://blog.csdn.net/xiaowei_cqu/article/details/7616044
相关文章推荐
- Linux的watch命令 — 实时监测命令的运行结果
- Pseudoprime numbers(快速幂取模)
- CentOS6.8配置GO语言开发环境
- 网站开发进阶(四十三)html中,路径前加“/” 与不加“/”的区别
- CentOs nginx 安装 及 负载均衡配置
- 网站开发进阶(四十三)html中,路径前加“/” 与不加“/”的区别
- HDOJ-1905 Pseudoprime numbers
- linux上课
- Pseudoprime numbers
- ecshop无法登录后台,密码是正确的,但会自动跳转到登录页,360浏览器的关系
- linux学习-linux操作系统介绍
- linux学习-硬件和软件的介绍
- ecshop无法登录后台,密码是正确的,但会自动跳转到登录页,360浏览器的关系
- linux utf-8 windows gbk eclipse乱码
- linux device driver --- 驱动 poll 执行流程图
- Shell前后台进程切换
- 宿主机ping不通虚拟机VMWARE中的linux系统
- 小代码 linux 消息队列
- MingW 编译错误.windres.exe: can't popen `gcc -E -xc-header -DRC_INVOKED -MMD -MF 解决:
- POJ 3641 Pseudoprime numbers (快速幂)