图像是视觉信息的直接反应,图像呈现出各种各样的特效都是通过图像的基本运算来完成的。图像最基本的运算有三种,分别是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. RxJava(九)zip操作符在Android中的实际使用场景

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/51614927 本文出自:[余志强的博客] 一.zip操作符概述 官方 ...

  2. TensorFlow与OpenCV,读取图片,进行简单操作并显示

    TensorFlow与OpenCV,读取图片,进行简单操作并显示 1 OpenCV读入图片,使用tf.Variable初始化为tensor,加载到tensorflow对图片进行转置操作,然后openc ...

  3. FFmpeg与libx264接口源代码简单分析

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  4. Linux proc/pid/task/tid/stat文件详解

    [root@localhost ~]# cat /proc/6873/stat6873 (a.out) R 6723 6873 6723 34819 6873 8388608 77 0 0 0 419 ...

  5. Android实现系统下拉栏的消息提示——Notification

    Android实现系统下拉栏的消息提示--Notification 系统默认样式 默认通知(通用) 效果图 按钮 <Button android:layout_width="match ...

  6. Dynamics CRM 站点地图中URL的&号编码问题

    现在大多数人对站点地图的操作都通过工具来执行,但如果你使用原始的编辑XML方式,并且你的SubArea中对应的不是某个Entity而是一串URL时,要注意了你的URL中如果带有与符号即&,那就 ...

  7. 最简单的基于DirectShow的示例:视频播放器自定义版

    ===================================================== 最简单的基于DirectShow的示例文章列表: 最简单的基于DirectShow的示例:视 ...

  8. Aandroid TV 基于Leanback支持最新MD设计的TV开发框架

    原文地址:http://blog.csdn.net/sk719887916 作者:skay 基于6.0最新的API 支持TV的框架 Android 6.0已完美支持TV开发,之前的5.0后Recycl ...

  9. Android进阶(二十二)设置TextView文字水平垂直居中

    设置TextView文字水平垂直居中 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_T ...

  10. jdbc连接mysql加载驱动程序com.mysql.jdbc.Driver

    在开发环境如eclipse,中加载指定数据库的驱动程序.需要下载MySQL支持JDBC的驱动程序mysql-connector-java-5.1.25-bin.jar. 而具体在Java程序中加载驱动 ...