热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

液晶屏的Dithering功能

看液晶屏手册,发现有一个引脚控制Dithering功能:Dithering功能简单的说就是用有限的颜色经过处理呈现出更多“显示颜色”的技术。比如只用黑

看液晶屏手册,发现有一个引脚控制Dithering功能:

Dithering功能简单的说就是用有限的颜色经过处理呈现出更多“显示颜色”的技术。

比如只用黑白两种颜色(0和255),表示下面的灰度图(0到255之间):

如果只是简单的二值化,大于128显示白色(255),小于128显示黑色(0),那么效果为:

这样显示效果惨不忍睹。那怎么使用黑白两色表示出0-255的灰度值呢?控制一个区域内黑白两种点数目的比例就可以了。在一个区域内用很小的白点和黑点填充,如果白点和黑点的数目各占一半,这个区域看起来就是灰度值128,其他灰度值也一样。这就是Dithering技术,也叫图像抖动技术。用Dithering技术处理后,效果为:

还有一个例子:

把经过Dithering处理的图像放大后,可以看到图像中只有黑白两种颜色。

彩色图像也是同样的道理,把有限的颜色经过Dithering处理,可以呈现出更多的颜色:

如果上面的用红色和蓝色,组合出紫色。

上图中,最左边是原图,中间是用液晶屏仅有的颜色显示的图片效果,最右边是用Dithering技术把仅有的颜色组合出更丰富的颜色,优化了图像显示效果。

 

参考:https://www.cnblogs.com/hwl1023/p/3593553.html


推荐阅读
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • Python编程入门:3.11.1 版本中的Collatz序列解析与实践
    在Python 3.11.1版本中,通过编写一个名为`collatz()`的函数来解析和实践Collatz序列。该函数接受一个名为`number`的参数:如果`number`是偶数,则函数将输出`number // 2`并返回该值;如果`number`是奇数,则输出和返回`3 * number + 1`。这一过程有助于理解递归函数和条件逻辑在Python中的应用。 ... [详细]
  • 本文探讨了提升项目效能与质量的综合优化策略。通过系统分析项目管理流程,结合先进的技术手段和管理方法,提出了多项具体措施,旨在提高项目的执行效率和最终交付质量。这些策略包括但不限于优化资源配置、加强团队协作、引入自动化工具以及实施持续改进机制,为项目成功提供了坚实的保障。 ... [详细]
  • Python 源代码文件应在何处进行编辑?[Python 常见疑问解答]
    Python 源代码文件的编辑有多种选择:1. 可以使用 Windows 自带的记事本进行简单编辑;2. 利用 Python 自带的 IDLE 集成开发环境;3. 采用功能更强大的第三方编辑器,如 Sublime Text、Visual Studio Code 等,这些编辑器通常具备语法高亮、自动补全等高级功能,能够显著提升开发效率。 ... [详细]
  • 这个博客平台似乎很早就已经申请成功,但由于种种原因,一直未能充分利用。尽管日常事务并不繁重,但也总感觉时间不够用,未能及时更新内容。如今,我决定重新启动这个博客,希望能记录更多有价值的想法和经验。 ... [详细]
  • iOS开发中MVC架构模式的深入解析(第一部分)
    在iOS开发中,MVC架构模式是常用的设计模式之一。本文将深入解析MVC架构的第一部分,重点介绍View组件。View组件继承自UIView,主要负责内容的展示(如UILabel等视图类)和用户输入的处理(如UIButton等控件类)。通过详细的代码示例和实际应用,帮助开发者更好地理解和掌握View在MVC架构中的作用和实现方式。 ... [详细]
  • 优化升级版数据采集与赋值方法,专为前文内容设计
    在前一篇文章中,方法的局限性主要体现在需要传递参数,并且参数数量受限。当页面布局与所需参数不匹配时,该方法将无法正常工作。为此,我们推出了优化升级版1.1,旨在解决这些问题并提高灵活性和适用性。 ... [详细]
  • 本文探讨了深度学习技术的基本原理及其广泛应用。通过分析深度学习的核心算法和模型结构,文章详细介绍了该技术在图像识别、自然语言处理和语音识别等领域的实际应用。此外,还讨论了深度学习在医疗诊断、自动驾驶和金融预测等方面的发展潜力和挑战。 ... [详细]
  • 本文提供了在Windows系统上部署和启动MySQL免安装版本的详细步骤。首先,从MySQL官方网站下载社区版免安装包(https://dev.mysql.com/downloads/mysql/8.0.html),将其解压至指定目录,例如D:\tools\mysql。接着,配置系统环境变量,确保MySQL命令行工具可以在任意路径下使用。此外,还需创建并配置my.ini文件以设置MySQL的基本参数,确保数据库服务能够顺利启动和运行。 ... [详细]
  • 深入解析 Android 选择器与形状绘制技术
    本文深入探讨了 Android 中选择器(Selector)与形状绘制(Shape Drawing)技术的应用与实现。重点分析了 `Selector` 的 `item` 元素,其中包括 `android:drawable` 属性的使用方法及其在不同状态下的表现。此外,还详细介绍了如何通过 XML 定义复杂的形状和渐变效果,以提升 UI 设计的灵活性和美观性。 ... [详细]
  • 初探设计模式之代理模式:原理与应用解析
    在设计模式中,代理模式通过一个代理对象来控制对真实对象的访问。UML图展示了代理类(如MathProxy)维护了一个引用,使得代理能够访问实际的主题对象。代理模式不仅能够延迟初始化昂贵的对象,还能在访问前后添加额外的操作,如权限检查或日志记录。这种模式在远程服务调用、虚拟代理和智能引用等方面有广泛应用。 ... [详细]
  • HTML学习指南:全面掌握网页编程基础
    HTML学习指南:全面掌握网页编程基础 ... [详细]
  • 本周,我深入研究了 ECharts 插件的使用方法,整体感觉插件操作较为简便,但后台算法较为复杂。此外,我还学习了 MySQL 函数的新应用,进一步提升了数据库操作的灵活性。同时,分享了自己在 Python 书籍外借过程中的体验,总结了一些实用的借阅技巧和心得。 ... [详细]
  • CSS中的pointer-events属性详解与应用
    在CSS中,`pointer-events`属性是一个非常实用但常被忽视的功能。它主要用于控制元素是否响应鼠标事件。当一个元素覆盖在其他元素之上时,通过设置`pointer-events`属性,可以决定该元素是否能够接收鼠标点击、悬停等交互操作,从而实现更灵活的用户界面设计。例如,将`pointer-events`设置为`none`可以使元素透明地传递鼠标事件,方便实现复杂的叠加效果和交互逻辑。 ... [详细]
  • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
    在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
author-avatar
oFoUro_877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有