图像处理的Dither和Banding「建议收藏」

图像处理的Dither和Banding「建议收藏」由于前面的文章涉及到了这两个概念,而我又对图像处理一窍不通,所以专门写一篇文章来了解这两个概念。Colourbanding       banding是计算机图形中颜色表现不精确的一个问题。DitherDither(抖动)是一种故意造成的噪音用以随机化量化误差,阻止大幅度拉升图像时导致的像banding(色带)这样的问题.Dither概念常用在

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

由于前面的文章涉及到了这两个概念,而我又对图像处理一窍不通,所以专门写一篇文章来了解这两个概念。

Colour banding

图像处理的Dither和Banding「建议收藏」

             banding是计算机图形中颜色表现不精确的一个问题。

Dither

Dither(抖动)是一种故意造成的噪音用以随机化量化误差,阻止大幅度拉升图像时导致的像banding(色带)这样的问题.Dither概念常用在数字声音和数字视频数据处理中,也常用在compact disc中。

Dither来源:
    最早源自二战,当时的轰炸机飞行员使用了一个机械计算机来进行导航和bomb轨道计算。奇怪的是,这些计算机(由上百机械零件组成)在飞机甲板上要比在地面上工作地更为准确。工程师们意识到飞机的震动降低了它的一些活动部件所导致的错误。为了让它们更好的工作,工程师为这种计算机安装了震动马达,他们把这些马达的震动成为dither。……

图像处理中的Dithering是一个使用有限调色板在图像中创建色深错觉的技术。在一个dithered的图像中,那些在调色板中不可用的颜色可以用当前调色板中可用的颜色中的一种近似代替,人眼可以接受这种由颜色组成的混合色。dithering类似于印刷技术中使用的半色调印刷。dithered图像,特别是使用相关的少许颜色的,通常都可以看出图像中包含的颗粒。(感觉自己翻译不明白,直接上图:)

                                                                    图像处理的Dither和Banding「建议收藏」
                         An illustration of dithering. Red and blue are the only colors used but, as the red and blue squares are made smaller, the patch appears violet.
 

Dithering技术在早期的视频适配器、现在的一些手机上使用的LCD,还有一些廉价的数码照相机上都有使用,这些设备的色域范围都要小于那些更先进的设备。例如,在照片图像可能包含数百万中颜色,但是在视频硬件上只支持256色,所以就需要使用这256色通过dither技术来近似的达到原图的效果。如果不使用dithering技术的话,那么原图里面那些不被支持的颜色可能会被这些颜色的近似颜色所代替,这样会导致最后显示出来的效果很差。
……
另外需要使用dithering的情况是图像文件格式的限制因素。特别的,通常使用的GIF严格限定只能使用256或者更少的颜色(在大多数图像编辑软件里是这样的)。其它一些格式,例如PNG,由于为了降低文件大小,也会使用相应的限制。这些使用受限颜色的图片会包含一个它所使用的颜色的调色板。在这种情况下,图像编辑软件就会负责dithering图像而不仅仅是使用这些格式保存这类文件。

算法:
有很多dithering算法。一个最早的,并且仍然流行的一个是Floyd–Steinberg dithering.(还有很多算法,wiki上都有介绍)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182288.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • leetcode Reverse Nodes in k-Group

    leetcode Reverse Nodes in k-Group

  • fastjson对象转jsonobject_fastjson字符串转对象

    fastjson对象转jsonobject_fastjson字符串转对象引入阿里fostjson库dependencies{compile’com.alibaba:fastjson:1.2.23′}LoginBeen实体类packagecom.example.scxx.scbluetoothpay.been;importcom.alibaba.fastjson.annotation.JSONType;/***FileName:LoginBeen

  • iOS字符串分割常用方法

    iOS字符串分割常用方法1.字符串的替换:NSString*str=@”12334dllggg33dlrt”;str=[strstringByReplacingOccurrencesOfString:@”33″withString:@”hh”];NSLog(@”%@”,str);输出结果:12hh4dlggghhdlrt2.通过range分割字符串

  • osg程序运行出现无法解析外部符号[通俗易懂]

    osg程序运行出现无法解析外部符号[通俗易懂]原因有很多,csdn上有足够的解释,其中一个是程序运行环境的错误,就是在win32下生成的库,编译的时候使用的平台是x64。这种情况的解决方法是:直接将解决方案的平台改成win32。如果改完之后代码#include出现错误,要在win32下重新配置osg…

  • 人工神经网络算法

    人工神经网络算法一、人工神经网络算法概念1、神经元正如我们日常生活中,遇到美女眼睛移不开、闻到香味流口水等生理现象等,其实都是神经所支配进行的,这就涉及到神经细胞。神经细胞(nervecell)又称神经元或神经原,是神经系统的结构与功能单位之一。它能感知环境的变化,再将信息传递给其他神经细胞,并发出指令以做出反应。据估计,人类中枢神经系统中约存在1000亿个神经元,仅大脑皮层中就约有140亿。在眼的视网膜上有感光细胞能接受光的刺激,在鼻粘膜上有嗅觉细胞能接受气味的变化,在味蕾中有能接受化学物质刺激的味觉细胞等,这

  • hikaripool信息_HikariPool源码(三)资源池动态伸缩「建议收藏」

    hikaripool信息_HikariPool源码(三)资源池动态伸缩「建议收藏」Java极客|作者/铿然一叶这是Java极客的第54篇原创文章1.资源池的动态伸缩1.为了提升资源池的性能,需要设置最小闲置资源数量,在资源池初始化时完成初始化;而当使用的资源超过最小闲置资源数,消费者释放回池中超过一定时间后要收缩到最小闲置资源数。2.为了避免无限申请资源导致超出负载,需要设置最大资源数,池中资源不能超出最大资源数。2.动态伸缩相关类结构职责说明:类职责Hou…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号