原理见图:

代码如下:

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");
}

效果如图:

    

图像旋转之以原点为中心相关推荐

  1. 【OpenCV 例程200篇】26. 图像的旋转(以原点为中心)

    [OpenCV 例程200篇]26. 图像的旋转(以原点为中心) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像 ...

  2. 经验 | OpenCV图像旋转的原理与技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的 ...

  3. OpenCV图像旋转的原理与技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的第一 ...

  4. matlab 通过矩阵变换使图像旋转平移_opencv图像处理——几何变换

    几何变换大致分为仿射变换.投影变换.极坐标变换 完成几何变换需要两个独立的算法过程: 1.一个用来实现空间坐标变换的算法,用它描述每个像素如何从初始位置移动到终止位置 2.一个插值算法完成输出图像的每 ...

  5. 图像中某点绕点旋转后的坐标,图像旋转坐标位置

    图像中某点绕点旋转后的坐标,图像旋转坐标位置 在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)旋转θ角度后,新的坐标设为(x, y)的计算公式: x= (x1 - x2)*cos(θ ...

  6. OpenCV_04 几何变换:图像缩放+图像平移+图像旋转+仿射变换+透射变换+图像金字塔

    1 图像缩放 缩放是对图像的大小进行调整,即使图像放大或缩小. API cv2.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR) 参 ...

  7. Opencv:图像旋转,cv2.getRotationMatrix2D 和 cv2.warpAffine 函数

    学习记录如何使用opencv实现对图像的旋转操作. 1 cv2.getRotationMatrix2D(center, angle, scale) 图像的旋转矩阵一般为: 但是单纯的这个矩阵是在原点处 ...

  8. 小白学习图像处理3——图像旋转原理

    文章目录 一.图像旋转的原理 二.使用matlab实现 1.思路 2.实现代码 三.优化 1.思路 2.代码实现 3.使用双线性插值 四.matlab函数实现图像旋转 1.imrotate函数 2.i ...

  9. 【嵌入式C编程】keil图像旋转仿真

    老爷们求求点个赞,我完全是自己想的,没有参考祖传代码. 一.题目描述与分析 题目:导入一幅128X128的8bit灰度图像,请在ARM 处理器上编程,使图像顺时针旋转45度,并导出图像: 分析:主要可 ...

  10. python-opencv 图像平移旋转变换、以及图像旋转前后坐标值映射关系

    图像的平移,旋转变换以及仿射与投影都需要先定义转换矩阵,然后使用cv2.warpAffine()根据变换矩阵完成转换 imgRotation = cv2.warpAffine(img, mat,(wi ...

最新文章

  1. 递归删除单链表中所有值为x的元素_如何纯递归反转链表的一部分
  2. 求助啊,被STM32的CAN折磨的疯了
  3. HD 2048 数塔 DP(简单递推)
  4. UVa1588 | 算法竞赛入门经典(第二版) 习题3-11 换低档装置
  5. 10 非受控组件以及受控与非受控的选择方案
  6. C++一天一个程序(八)
  7. 设计公共API的六个注意事项
  8. python嵌入shell代码_大家一起学python-Python基础1
  9. 线上CPU100%?看看这篇是怎么排查的!
  10. 我为啥不想用Python
  11. 支付宝系统架构(内部架构图)
  12. Table控件布局DataList模板
  13. 关于tp框架token
  14. Red5流媒体服务器的搭建
  15. 关于软件开发的那些事(三):聊聊软件项目管理及成本核算
  16. ApacheCN 数据科学译文集 20211109 更新
  17. DataFrame切片
  18. php捉迷藏,查看“蘑菇捉迷藏!”的源代码
  19. 1400——489C,520B,279B,479C
  20. 五、伊森商城 前端基础-Vue v-on 事件修饰符 按键修饰符 v-for v-if 和v-show v-else和v-else-if p24

热门文章

  1. “广” “专”的抉择 -- 个人技术发展之我见!
  2. [Java][Android][Process] 暴力的服务可以解决一切,暴力的方式执行命令行语句
  3. 如何安装Vmware ESXi 6.7(图文介绍)
  4. 磁盘分区和目录的区别是什么
  5. oracle 进入empt,关于redhat6.2静默安装oracle11g出现的问题 大神救命
  6. suse 内核编译安装_Linux内核编译与安装
  7. linux网卡mode6,RedHat/CentOS(Linux)双网卡bond(mode=6)
  8. 项目的webinf文件在哪_PMP章节练习(第四章:项目整合管理)
  9. Introduction to Computer Networking学习笔记(五):ARP协议(Address Resolution Protocol)
  10. bable转换html里面的js,javascript – 在Babel中转换插件与语法插件