图像是视觉信息的直接反应,图像呈现出各种各样的特效都是通过图像的基本运算来完成的。图像最基本的运算有三种,分别是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. 学习TensorFlow,TensorBoard可视化网络结构和参数

    在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可 ...

  2. SQL 数据库语言分析总结(一)

    SQL语言是被广泛采用的数据库的学习语言,之前在本科的时候已经学习过了,但是后来又忘记了,所以这次简单的总结一下. 分类 交互式sql语言,交互式语言主要是利用一些数据库工具,比如mysql的终端工具 ...

  3. [ExtJS5学习笔记]第八节 Extjs5的Ext.toolbar.Toolbar工具条组件及其应用

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38515499 本文作者:sushengmiyan ------------------ ...

  4. 财务模块多组织,GL, SLA, SOB, COA, BSV, CCID, LE 概念的简单介绍

     GL=  General Ledger 指的是Oracle 的总帐系统. application_id = 101. 在uk似乎居然还有不同的解释(In the UK, it was refer ...

  5. 3. React 组件生命周期介绍

            React 中的每个组件都有三个阶段,这三个阶段构成了组件完整的生命周期.组件的生命周期为]); return; } this.setState({name: event.target ...

  6. 网页搜索之后的APP搜索

    搜索技术是互联网最核心的技术之一.但是移动互联网迅猛发展的今天,互联网产生的数据已经不是简单的网页搜索所能涵盖的了.比如微信公众号,产生了许多优质的内容,如果这些公众号仅仅将这些内容发布到微信平台,那 ...

  7. web中间件切换(was切tomcat)

    一.数据源迁移: ①数据源配置在web容器还是在项目本身? 根据开发与生产分离原则选择配置到web容器,以免开发泄露数据库密码. ②数据库密码加密 原先was的数据源直接在console控制,密码是密 ...

  8. listview下拉刷新上拉加载扩展(三)-仿最新版美团外卖

    本篇是基于上篇listview下拉刷新上拉加载扩展(二)-仿美团外卖改造而来,主要调整了headview的布局,并加了两个背景动画,看似高大上,其实很简单: as源码地址:http://downloa ...

  9. IOS中 浅谈iOS中MVVM的架构设计与团队协作

    今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

  10. inline内联函数

    demo //带参数的宏 #define MYFUNC(a, b) ((a) < (b) ? (a) : (b)) inline int myfunc(int a, int b) { retur ...