图像旋转之以原点为中心
原理见图:
代码如下:
void Ctry::OnTryTyr1()
{//TODO: 在此添加命令处理程序代码IplImage *img = cvLoadImage("C:\\Users\\Administrator\\Desktop\\3838.jpg");IplImage *dst = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 3);int i, j; //目标图像坐标int u, v; //源图像坐标int ang = 30; //旋转角度CvScalar pixel;for (i = 0; i < dst->width; i++){ for ( j = 0; j < dst->height; j++){u = int(i*cos(ang*PI / 180) + j*sin(ang*PI / 180) + 0.5);v = int(j*cos(ang*PI / 180) - i*sin(ang*PI / 180) + 0.5);if ((u < img->width)&&(v < img->height)&&(u >= 0) && (v >= 0)){pixel = cvGet2D(img, v, u);cvSet2D(dst, j, i, pixel);}else{cvSet2D(dst, j, i, RGB(0,0,0));}}}cvSaveImage("C:\\Users\\Administrator\\Desktop\\dst.jpg",dst);cvNamedWindow(" dst", CV_WINDOW_AUTOSIZE);cvShowImage(" dst", dst);cvNamedWindow("img", CV_WINDOW_AUTOSIZE);cvShowImage("img", img);cvWaitKey(0);cvReleaseImage(&img);cvReleaseImage(&dst);cvDestroyWindow(" dst");cvDestroyWindow("img");
}
效果如图:
图像旋转之以原点为中心相关推荐
- 【OpenCV 例程200篇】26. 图像的旋转(以原点为中心)
[OpenCV 例程200篇]26. 图像的旋转(以原点为中心) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像 ...
- 经验 | OpenCV图像旋转的原理与技巧
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的 ...
- OpenCV图像旋转的原理与技巧
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的第一 ...
- matlab 通过矩阵变换使图像旋转平移_opencv图像处理——几何变换
几何变换大致分为仿射变换.投影变换.极坐标变换 完成几何变换需要两个独立的算法过程: 1.一个用来实现空间坐标变换的算法,用它描述每个像素如何从初始位置移动到终止位置 2.一个插值算法完成输出图像的每 ...
- 图像中某点绕点旋转后的坐标,图像旋转坐标位置
图像中某点绕点旋转后的坐标,图像旋转坐标位置 在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)旋转θ角度后,新的坐标设为(x, y)的计算公式: x= (x1 - x2)*cos(θ ...
- OpenCV_04 几何变换:图像缩放+图像平移+图像旋转+仿射变换+透射变换+图像金字塔
1 图像缩放 缩放是对图像的大小进行调整,即使图像放大或缩小. API cv2.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR) 参 ...
- Opencv:图像旋转,cv2.getRotationMatrix2D 和 cv2.warpAffine 函数
学习记录如何使用opencv实现对图像的旋转操作. 1 cv2.getRotationMatrix2D(center, angle, scale) 图像的旋转矩阵一般为: 但是单纯的这个矩阵是在原点处 ...
- 小白学习图像处理3——图像旋转原理
文章目录 一.图像旋转的原理 二.使用matlab实现 1.思路 2.实现代码 三.优化 1.思路 2.代码实现 3.使用双线性插值 四.matlab函数实现图像旋转 1.imrotate函数 2.i ...
- 【嵌入式C编程】keil图像旋转仿真
老爷们求求点个赞,我完全是自己想的,没有参考祖传代码. 一.题目描述与分析 题目:导入一幅128X128的8bit灰度图像,请在ARM 处理器上编程,使图像顺时针旋转45度,并导出图像: 分析:主要可 ...
- python-opencv 图像平移旋转变换、以及图像旋转前后坐标值映射关系
图像的平移,旋转变换以及仿射与投影都需要先定义转换矩阵,然后使用cv2.warpAffine()根据变换矩阵完成转换 imgRotation = cv2.warpAffine(img, mat,(wi ...
最新文章
- 递归删除单链表中所有值为x的元素_如何纯递归反转链表的一部分
- 求助啊,被STM32的CAN折磨的疯了
- HD 2048 数塔 DP(简单递推)
- UVa1588 | 算法竞赛入门经典(第二版) 习题3-11 换低档装置
- 10 非受控组件以及受控与非受控的选择方案
- C++一天一个程序(八)
- 设计公共API的六个注意事项
- python嵌入shell代码_大家一起学python-Python基础1
- 线上CPU100%?看看这篇是怎么排查的!
- 我为啥不想用Python
- 支付宝系统架构(内部架构图)
- Table控件布局DataList模板
- 关于tp框架token
- Red5流媒体服务器的搭建
- 关于软件开发的那些事(三):聊聊软件项目管理及成本核算
- ApacheCN 数据科学译文集 20211109 更新
- DataFrame切片
- php捉迷藏,查看“蘑菇捉迷藏!”的源代码
- 1400——489C,520B,279B,479C
- 五、伊森商城 前端基础-Vue v-on 事件修饰符 按键修饰符 v-for v-if 和v-show v-else和v-else-if p24
热门文章
- “广” “专”的抉择 -- 个人技术发展之我见!
- [Java][Android][Process] 暴力的服务可以解决一切,暴力的方式执行命令行语句
- 如何安装Vmware ESXi 6.7(图文介绍)
- 磁盘分区和目录的区别是什么
- oracle 进入empt,关于redhat6.2静默安装oracle11g出现的问题 大神救命
- suse 内核编译安装_Linux内核编译与安装
- linux网卡mode6,RedHat/CentOS(Linux)双网卡bond(mode=6)
- 项目的webinf文件在哪_PMP章节练习(第四章:项目整合管理)
- Introduction to Computer Networking学习笔记(五):ARP协议(Address Resolution Protocol)
- bable转换html里面的js,javascript – 在Babel中转换插件与语法插件