1、镜像算子

1.1 水平(X轴)镜像

需要将一块内存中的像素,水平镜像写入另一块内存

确定好像素的高度H和宽度W,假设A像素坐标为(src_x0 ,src_y0 ),
对应src内存中地址为: src_addr = src_y0 * W + src_x0 ;
水平镜像,可以观察一个小的二维数组,分析前后的坐标变化规律;
规律如下 :dst_X = src_x0 ; dst_Y = (H-1) - src_y0 ;
对应dst内存中地址为: dst_addr = dst_Y * W + dst_X ;

反推,已知目的像素坐标,推算原始像素坐标

规律如下 :src_x0 = dst_X ; src_y0 = (H-1) - dst_Y ;

1.2 垂直(Y轴)镜像

需要将一块内存中的像素,垂直镜像写入另一块内存

确定好像素的高度H和宽度W,假设A像素坐标为(src_x0 ,src_y0 ),
对应src内存中地址为: src_addr = src_y0 * W + src_x0 ;
垂直镜像,可以观察一个小的二维数组,分析前后的坐标变化规律;
规律如下 :dst_X = (W-1) - src_x0 ; dst_Y = src_y0 ;
对应dst内存中地址为: dst_addr = dst_Y * W + dst_X ;

反推,已知目的像素坐标,推算原始像素坐标

规律如下 :src_x0 = (W-1) - dst_X ; src_y0 = dst_Y ;

2、旋转算子

2.1 顺时针旋转90度

需要将一块内存中的像素,旋转90度写入另一块内存

确定好像素的高度H和宽度W,假设A像素坐标为(src_x0 ,src_y0 ),旋转后(X,Y)
对应src内存中地址为: src_addr = src_y0 * W + src_x0 ;
旋转90度,可以观察一个小的二维数组,分析旋转前后的坐标变化规律;
规律如下 :dst_Y = src_x0 ; dst_X = (H-1) - src_y0 ;
对应dst内存中地址为: dst_addr = dst_Y * H + dst_X ;(旋转后src的HW正好与dst的HW相反)

反推,已知目的像素坐标,推算原始像素坐标

规律如下 :src_x0 = dst_Y ;src_y0 = (H-1) - dst_X ;

逆时针旋转时:

src_x0 = (W-1) - dst_Y ;src_y0 = dst_X ;

2.2 顺时针旋转180度

需要将一块内存中的像素,旋转180度写入另一块内存

确定好像素的高度H和宽度W,假设A像素坐标为(src_x0 ,src_y0 ),
对应src内存中地址为: src_addr = src_y0 * W + src_x0 ;
旋转180度,可以观察一个小的二维数组,分析旋转前后的坐标变化规律;
规律如下 :dst_X = (W-1) - src_x0 ;dst_Y = (H-1) - src_y0 ;
对应dst内存中地址为: dst_addr = dst_Y * W + dst_X ;(旋转后src的HW正好与dst的HW相等)

反推,已知目的像素坐标,推算原始像素坐标

规律如下 :src_x0 = (W-1) - dst_X ;src_y0 = (H-1) - dst_Y ;

逆时针旋转时:【与顺时针旋转相同】

src_x0 = (W-1) - dst_X ;src_y0 = (H-1) - dst_Y ;

2.3 旋转270度

需要将一块内存中的像素,旋转180度写入另一块内存

确定好像素的高度H和宽度W,假设A像素坐标为(src_x0 ,src_y0 ),
对应src内存中地址为: src_addr = src_y0 * W + src_x0 ;
旋转270度,可以观察一个小的二维数组,分析旋转前后的坐标变化规律;
规律如下 :dst_X = src_y0 ; dst_Y = (W-1) - src_x0 ;
对应dst内存中地址为: dst_addr = dst_Y * H + dst_X ;(旋转后src的HW正好与dst的HW相反)

反推,已知目的像素坐标,推算原始像素坐标

规律如下 :src_x0 = (W-1) - dst_Y ; src_y0 = dst_X ;

逆时针旋转时:

src_x0 = dst_Y ; src_y0 = (H-1) - dst_X ;

3、图像转置

图像的转置是指将图像像素的x坐标和y坐标互换,相应的转置后图像的宽度与长度会随之互换。
图像的转置变换也可以通过先水平镜像,再逆时针旋转九十度来实现。

2D/3D加速器算子相关推荐

  1. 2D/3D加速器概念

    结构光    1.结构光的类型就分为很多种,既然是结构光,当然是将光结构化,简单的结构化包括点结构光,线结构光以及简单的面结构光等.复杂一点的结构化就上升到光学图案的编码了.    2.结构光投射到待 ...

  2. Unity安卓游戏开发:打造7款2D 3D游戏 Unity Android Game Development : Build 7 2D 3D Games

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小:15.4 GB |时长:32h 55m Un ...

  3. Paper:《How far are we from solving the 2D 3D Face Alignment problem? 》解读与翻译

    Paper:<How far are we from solving the 2D & 3D Face Alignment problem? >解读与翻译 目录 How far a ...

  4. [骨科手术导航]2D/3D医学图像配准研究_罗博博_南方科技大学

    1.绪论 1.1 手术导航 #手术导航是以CT/MRI等医学影像数据为基础,通过虚拟现实技术,定位追踪后显示出手术器械相对病变组织的位置关系,从而实现对手术过程的实时引导. #在外科手术中,临床医生能 ...

  5. Waymo 2020 | 2D/3D目标检测、跟踪和域自适应性冠军解决方案解析

    ©PaperWeekly 原创 · 作者|黄飘 学校|华中科技大学硕士 研究方向|多目标跟踪 随着最近 Waymo Open Dataset Challenges 2020 的落幕,其中关于 2D/3 ...

  6. html5 2d,3d游戏引擎

    html5 2d,3d游戏引擎 http://biz.turbulenz.com/developers posted on 2014-10-12 21:58 雨亭 阅读(...) 评论(...) 编辑 ...

  7. 跨平台2D/3D游戏开发框架libGDX发布1.2.0更新

    摘要:基于OpenGL (ES)的跨平台2D/3D游戏开发框架libGDX不仅开源免费,而且具有极为强大的兼容性和高效性,近日,libGDX发布全新1.2.0版本,除修复Bug之外,还新增了OpenG ...

  8. MedMNIST:18个数据集开启2D+3D医学影像之旅,可免费下载

    关注公众号,发现CV技术之美 以下文章来源于中国图象图形学报 ,作者倪冰冰, 杨健程等 上海交通大学等 MedMNIST v2医学图像数据集已经发布,相较 MedMNIST v1,MedMNIST v ...

  9. 基于 HTML5 Canvas 的简易 2D 3D 编辑器

    不管在任何领域,只要能让非程序员能通过拖拽来实现 2D 和 3D 的设计图就是很牛的,今天我们不需要 3dMaxs 等设计软件,直接用 HT 就能自己写出一个 2D 3D 编辑器,实现这个功能我觉得成 ...

最新文章

  1. CSS 特效 (教程还是英文的好)
  2. python利器怎么编程-C++和Python混合编程的利器
  3. ABAP高级顾问应该掌握的技术
  4. Nginx反向代理+Go服务实践
  5. Ubuntu开启防火墙
  6. 对象必须实现 iconvertible。_java面向对象最全入门笔记(通俗易懂,适合初学者)...
  7. Tomcat下部署多个项目
  8. python主要用于做什么-python主要用于哪些方向
  9. android Camera 录像时旋转角度
  10. 如何在JavaScript中将字符串的首字母大写?
  11. 私网互联(本质是三层路由)
  12. PHP之父Rasmus Lerdorf演讲:激情下的PHP 百作坊
  13. Celery+django+redis异步执行任务
  14. 用turtle作画玩一玩吧
  15. Java实现CRC16 CCITT
  16. 北邮智能车仿真培训(一)—— 安装仿真环境
  17. 05.抽象队列同步器AQS应用之Lock详解
  18. 期货投资者教育系列丛书 铝
  19. NORDIC Thingy:52 蓝牙 BLE 服务协议定义
  20. 诛仙、凡人、遮天、剑来竟都不是第四届橙瓜网络文学奖第一仙侠!

热门文章

  1. 无线抄表系统服务器,基于无线通信的远程抄表系统
  2. iOS 判断屏幕方向锁定是否开启
  3. Node.js的下载安装及使用
  4. 【STM32学习笔记】(12)——NVIC(嵌套向量中断控制器)详解
  5. 变质量力学问题与虚功原理解答
  6. Java实现微信APP支付实现记录
  7. ie11打不开吗html文件,ie11浏览器打不开怎么处理
  8. 一款免费屏幕录像工具 1
  9. Ian Goodfellow《Deep Learning》读书笔记
  10. 运用四色建模法进行领域分析