图像是视觉信息的直接反应,图像呈现出各种各样的特效都是通过图像的基本运算来完成的。图像最基本的运算有三种,分别是scale,rotation 和translation,叫做尺度,旋转和平移。很多图像的特效都可以用这三种基本运算来实现。可以对像素值或者像素的坐标做这些运算来达到特定的效果。

像素有两个属性,一个是像素的值,一个是像素的坐标。像素的值记录了像素的强度信息,像素的坐标记录了像素的空间信息。

先考虑对像素值的三种运算。(这里假设像素的取值范围为 0-1)。

scale: 对像素值做scale,相当于对图像做增强(scale 大于1)或者减弱 (scale 小于 1)。

rotation:像素值的旋转不好理解,但是可以想象 0-1 的区间不是一条直线,而是一个圆,将0-1的区间分成等弧   度的很多份。像素值的旋转,就相当于在圆周上做translation,这种处理的好处之一在于,像素值永远不会超出 0-1 的取值范围,因为旋转具备周期性。

translation:对像素值做平移,可以认为是对图像强度整体的提升或者减弱。

对像素坐标的三种运算:

scale:对图像坐标做scale,相当于对图像做缩放。

rotation: 对图像坐标做rotation,就是对像素点做旋转。

translation: 对图像坐标做translation,就是以某个轴做翻转进而改变像素点的相对位置。

对图像坐标的运算,会涉及到插值的问题,因为新的坐标不一定是整数,所以需要用新坐标周围的像素点来计算新坐标的像素值。而一般的插值会用双线性插值,并且利用逆向运算。

事实上,PS中的很多图像特效和图像调整算法都是基于这三种基本运算对像素值或者像素坐标的操作来实现的。比如图层的混合原理,可以理解为对图像的像素值做了scale和translation。利用这三种运算,经过精心的设计,就可能创造出很多有趣的图像特效。

图像的基本运算——scale, rotation, translation的更多相关文章

  1. PhotoShop 图像处理 算法 汇总

    不定期更新 ...... 直接点标题即可链接到原文. OpenCV 版:OpenCV 图像处理 图层混合算法: PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡)PS图层混合算法之二(线性 ...

  2. android.view.View

    * This class represents the basic building block for user interface components. A View * occupies a ...

  3. 采用QHD分辨率使用kinect2_calibration,完成QHD图像校正

    //.................................................................................//采用QHD分辨率使用kinec ...

  4. 【Computer Vision】图像单应性变换/投影/仿射/透视

    一.基础概念 1. projective transformation  = homography = collineation. 2. 齐次坐标:使用N+1维坐标来表示N维坐标,例如在2D笛卡尔坐标 ...

  5. 本图片处理类功能非常之强大可以实现几乎所有WEB开发中对图像的处理功能都集成了,包括有缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等功能

    import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  6. [CVPR2017] Visual Translation Embedding Network for Visual Relation Detection 论文笔记

    http://www.ee.columbia.edu/ln/dvmm/publications/17/zhang2017visual.pdf Visual Translation Embedding ...

  7. [opencv] 图像几何变换:旋转,缩放,斜切

    几何变换 几何变换可以看成图像中物体(或像素)空间位置改变,或者说是像素的移动. 几何运算需要空间变换和灰度级差值两个步骤的算法,像素通过变换映射到新的坐标位置,新的位置可能是在几个像素之间,即不一定 ...

  8. MUNIT:Multimodal Unsupervised Image-to-Image Translation - 1 - 论文学习,不成对数据

    摘要:无监督图像转换是计算机视觉领域中一个重要而又具有挑战性的问题.给定源域中的一幅图像,目标是学习目标域中对应图像的条件分布,而不需要看到任何对应图像对的例子.虽然这种条件分布本质上是多模态的,但现 ...

  9. layer 的一些知识

    layer类似于ps的图层,如果把一个uiview看做图片的画,layer就像是图层.一个图片是由很多个大小不同的有层次的图层构成的,uiview也是. 1. 一个view有一个underlying ...

随机推荐

  1. android解析网络json数据(1)

    1.首先获得url,传入URL类,利用URL的openconnection方法,获得URLConnection,去的输入流,进行操作,具体代码如下: public class NetConnectio ...

  2. springmvc的介绍和第一个例子

    SpringMVC是Spring 框架自带的一部分. SpringMVC底层基于:Servlet Struts2底层基于:filter struts1底层基于:Servlet spring 各模块 我 ...

  3. maven跳过单元测试的两个参数区别

    maven在打包过程中需要执行单元测试.但有些时候单元测试已经通过只是想打包时,想跳过测试.maven提供了两个参数跳过测试:maven.test.skip=true 和skipTests. 例子 m ...

  4. 利用ScrollView滑动属性实现点击查看更多

    利用ScrollView的滚动实现点击查看更多 效果图 更新内容布局 <ScrollView android:id="@+id/sv_des" android:layout_ ...

  5. 剑指Offer——京东校招笔试题+知识点总结

    剑指Offer--京东校招笔试题+知识点总结 笔试感言 经过一系列的笔试,发觉自己的基础知识还是比较薄弱的,尤其是数据结构和网络,还有操作系统.工作量还是很大的.做到精确制导的好方法就是在网上刷题,包 ...

  6. Microsoft Dynamics CRM2011 更换Logo

    之前操作过但没做过记录,这里记录下以防以后有需要时记不起来还有迹可循 IE收藏栏的图标,在网站根目录下的的/favicon.ico CRM网页中的Logo,替换/_imgs/crmmastheadlo ...

  7. Linux系统编程----孤儿进程

    什么是孤儿进程? 孤儿进程,  指在父进程退出后,而子进程还在运行,这个子进程就成了孤儿进程,这时由init进程(pid=1)接管 来看看例子: #include <stdio.h> #i ...

  8. 【转载】图灵AngularJS入门教程

    摘自图灵的AngularJS入门教程:http://www.ituring.com.cn/article/13471 感觉非常不错,所以推荐到首页一下! (一)Hello World! 开始学习Ang ...

  9. Dynamics CRM2013/2015 Plugin注册工具Register New Assembly时无法看到注册按钮的解决办法

    CRM2013的注册插件工具UI相比2011之前有了一定的改变,但改变UI的同时也给开发人员带来了困扰,打开注册工具点击Register按钮选择dll时页面就是下面这样的,你完全看不到最下面的两个按钮 ...

  10. LCD 常用的客观效果指标和测试方法

    1.DPI--精密度: 评分标准 DPI 评分 DPI<200 50 200≤DPI<250 60 250≤DPI<300 70 300≤DPI<350 80 350≤DPI& ...