日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

誤差擴(kuò)散抖動(dòng)算法和閾值抖動(dòng)算法的原理

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 2025-11-03 09:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式GUI開(kāi)發(fā)中,低色深(如RGB565)常常導(dǎo)致圖片漸變出現(xiàn)明顯色帶。

今天給大家?guī)?lái)一個(gè)好消息!

GUI Guider現(xiàn)已支持LVGL圖片抖動(dòng)處理,內(nèi)置兩種主流算法:Floyd-Steinberg誤差擴(kuò)散抖動(dòng)和閾值抖動(dòng)。

本文將結(jié)合源碼實(shí)現(xiàn),帶你深入理解這兩種算法的原理、特點(diǎn)與工程應(yīng)用,讓你的界面更細(xì)膩、更專(zhuān)業(yè)!

什么是圖片抖動(dòng)(Dithering)

想象一下,你有一盒256色的彩筆,但現(xiàn)在只能用16色來(lái)畫(huà)同一幅畫(huà)。直接的做法是找到最接近的顏色替代,但這樣會(huì)產(chǎn)生明顯的色彩分層和失真。

抖動(dòng)算法就像一個(gè)聰明的藝術(shù)家,通過(guò)巧妙地安排像素的分布,讓人眼在一定距離下看到接近原始色彩的效果。這就是"空間換色彩"的思想。

誤差擴(kuò)散抖動(dòng)算法

原理簡(jiǎn)介:

Floyd-Steinberg算法是一種經(jīng)典的誤差擴(kuò)散抖動(dòng)方法。其核心思想是:當(dāng)前像素的量化誤差不應(yīng)浪費(fèi),而應(yīng)傳遞給鄰近像素,從而整體提升視覺(jué)效果。

實(shí)現(xiàn)算法流程:

4cbde426-b52a-11f0-8c8f-92fbcf53809c.png

1.將每個(gè)像素的RGB值映射到21個(gè)等級(jí)(step約為12.75),以適應(yīng)低色深顯示。

2.計(jì)算原始像素與量化后像素的誤差。

3.按照Floyd-Steinberg權(quán)重,將誤差分配給右側(cè)、正下、左下和右下的像素。

源碼實(shí)例片段:

constquantize= (value) => {
conststep =255/ (21-1);
returnMath.round(value / step) * step;
};
//
誤差擴(kuò)散到鄰近像素
diffuseError(1,0,7/16);//
右側(cè)
diffuseError(-1,1,3/16);//
左下
diffuseError(0,1,5/16);//
正下
diffuseError(1,1,1/16);//
右下
算法特點(diǎn):

4d3488d8-b52a-11f0-8c8f-92fbcf53809c.png

閾值抖動(dòng)算法

原理簡(jiǎn)介:

閾值抖動(dòng)采用預(yù)定義的閾值矩陣,根據(jù)像素在矩陣中的位置決定其量化方式。每個(gè)像素獨(dú)立處理,天然支持并行計(jì)算。

4d8977e4-b52a-11f0-8c8f-92fbcf53809c.png

實(shí)現(xiàn)流程:

閾值矩陣設(shè)計(jì):

使用8×8的閾值矩陣,分別針對(duì)RGB三個(gè)通道設(shè)計(jì)不同的閾值分布:

letred_thresh = [
1,7,3,5,0,8,2,6,
7,1,5,3,8,0,6,2,
// ... 64
個(gè)值的
8x8
矩陣
]

這種分離式設(shè)計(jì)有特殊考慮:

4e0215dc-b52a-11f0-8c8f-92fbcf53809c.png

2. 基于像素位置計(jì)算閾值矩陣索引

let threshold_id = ((y & 7) << 3) + (x & 7);

3. RGB565格式適配:針對(duì)RGB565格式,分別對(duì)紅、綠、藍(lán)通道做位掩碼處理,保證色彩映射準(zhǔn)確。

算法特點(diǎn):

4e5821f2-b52a-11f0-8c8f-92fbcf53809c.png

算法對(duì)比與選擇建議:

4eb18526-b52a-11f0-8c8f-92fbcf53809c.png

若在GUI Guider中遇到圖片顯示出現(xiàn)色帶問(wèn)題,建議在圖片屬性設(shè)置中嘗試更換不同的圖像渲染算法,以改善圖像質(zhì)量:

4f06d6c0-b52a-11f0-8c8f-92fbcf53809c.png

實(shí)際應(yīng)用建議:

漸變和照片類(lèi)圖片優(yōu)先選擇Floyd-Steinberg算法,追求最佳視覺(jué)體驗(yàn)

UI圖標(biāo)、純色塊、實(shí)時(shí)渲染場(chǎng)景優(yōu)先選擇閾值抖動(dòng)算法,追求極致效率

總結(jié)

兩種抖動(dòng)算法各有優(yōu)勢(shì):

Floyd-Steinberg-適合追求高質(zhì)量的場(chǎng)景,特別是照片和復(fù)雜圖像

閾值抖動(dòng)-適合對(duì)性能要求較高的實(shí)時(shí)應(yīng)用和UI圖標(biāo)

在使用GUI Guider的嵌入式GUI開(kāi)發(fā)中,根據(jù)具體的硬件平臺(tái)和應(yīng)用需求選擇合適的算法,可以在性能和視覺(jué)效果之間找到最佳平衡點(diǎn)。理解這些算法的原理,不僅能幫助我們更好地使用現(xiàn)有工具,還能在需要時(shí)進(jìn)行定制優(yōu)化,打造更出色的用戶(hù)界面體驗(yàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5210

    文章

    20680

    瀏覽量

    337369
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4810

    瀏覽量

    98608
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    699

    瀏覽量

    43905

原文標(biāo)題:告別色帶!從GUI Guider無(wú)色帶漸變開(kāi)始

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    抖動(dòng)的基礎(chǔ)知識(shí)

    (或交叉點(diǎn))。這取決于時(shí)間參考是來(lái)自于采樣數(shù)據(jù),還是由外部提供。如果抖動(dòng)發(fā)生在采樣點(diǎn)跳變閾值的“錯(cuò)誤位置”,并且導(dǎo)致接收電路“錯(cuò)解”了該比特位發(fā)射時(shí)的真實(shí)情況,那么就會(huì)出現(xiàn)傳輸誤差。圖 1 就是對(duì)這種情形的描述。
    的頭像 發(fā)表于 11-29 18:26 ?4919次閱讀
    <b class='flag-5'>抖動(dòng)</b>的基礎(chǔ)知識(shí)

    STM32的ADC項(xiàng)目應(yīng)用,用什么算法濾波和穩(wěn)定數(shù)據(jù)抖動(dòng)?

    STM32的ADC項(xiàng)目應(yīng)用,大家都用什么算法濾波和穩(wěn)定數(shù)據(jù)抖動(dòng)。 ADC數(shù)據(jù)的抖動(dòng)有時(shí)候應(yīng)用在項(xiàng)目上讓人很是頭疼,什么度娘十大濾波算法也是要斟酌選用。 單片機(jī)項(xiàng)目設(shè)計(jì)中,外設(shè)ADC的
    發(fā)表于 04-17 08:20

    抖動(dòng)測(cè)量三種方法

    。若網(wǎng)絡(luò)、網(wǎng)絡(luò)元件、子系統(tǒng)或IC的BER超過(guò)可接受的限制,則必須找到誤差源。 大多數(shù)工程技術(shù)人員希望用儀器組合來(lái)跟蹤抖動(dòng)問(wèn)題,先用BER測(cè)試儀、然后用抖動(dòng)分析儀或示波器來(lái)隔離誤差源。
    發(fā)表于 08-02 16:20

    抖動(dòng)算法

    最近在做有關(guān)鐵路目標(biāo)檢測(cè)的研究,用紅外CCD的視頻,因?yàn)镃CD是放在火車(chē)上的,火車(chē)會(huì)抖動(dòng),所以錄的視頻也是有很大的抖動(dòng),有沒(méi)有什么好的算法,可以消除抖動(dòng)呢,謝謝大神了,指點(diǎn)下??!
    發(fā)表于 07-18 08:50

    超寬帶通信中定時(shí)抖動(dòng)抑制算法的研究

    本文研究了直擴(kuò)超寬帶通信系統(tǒng)的關(guān)鍵技術(shù)----定時(shí)抖動(dòng)及其抑制方法,主要分析了定時(shí)抖動(dòng)產(chǎn)生的原因、分布規(guī)律和各種有效的抑制方法。文中第一次對(duì)DS-UWB 系統(tǒng)定時(shí)抖動(dòng)產(chǎn)生的各
    發(fā)表于 08-10 14:24 ?15次下載

    考慮基線(xiàn)抖動(dòng)的雙天線(xiàn)干涉SAR 原始回波仿

    該文針對(duì)雙天線(xiàn)干涉SAR 系統(tǒng)基線(xiàn)抖動(dòng)的特點(diǎn)提出了一種能夠精確仿真基線(xiàn)抖動(dòng)影響的改進(jìn)二維頻域原始回波生成算法。該算法通過(guò)Taylor 展開(kāi)近似將基線(xiàn)
    發(fā)表于 11-11 15:38 ?11次下載

    自適應(yīng)抖動(dòng)調(diào)制圖像水印算法

    量化步長(zhǎng)是影響量化水印算法性能的最關(guān)鍵因素之一。該文根據(jù)JPEG 量化表自適應(yīng)地選擇抖動(dòng)調(diào)制中的量化步長(zhǎng),提出了一種新的自適應(yīng)量化水印算法;并將JPEG 量化表和Watson 感知模
    發(fā)表于 11-21 11:37 ?13次下載

    抖動(dòng)的概念和抖動(dòng)的測(cè)量方法

    抖動(dòng)的概念和抖動(dòng)的測(cè)量方法 在數(shù)字通信系統(tǒng),特別是同步系統(tǒng)中,隨著系統(tǒng)時(shí)鐘頻率的不斷提高,時(shí)間抖動(dòng)成為影響通
    發(fā)表于 11-27 08:28 ?5195次閱讀
    <b class='flag-5'>抖動(dòng)</b>的概念和<b class='flag-5'>抖動(dòng)</b>的測(cè)量方法

    什么是抖動(dòng)?什么叫抖動(dòng)

    什么是抖動(dòng)?什么叫抖動(dòng) 抖動(dòng)的定義是“數(shù)字信號(hào)的各個(gè)有效瞬時(shí)對(duì)其
    發(fā)表于 11-27 08:40 ?8282次閱讀
    什么是<b class='flag-5'>抖動(dòng)</b>?什么叫<b class='flag-5'>抖動(dòng)</b>

    抖動(dòng)/歪斜,抖動(dòng)/歪斜是什么意思

    抖動(dòng)/歪斜,抖動(dòng)/歪斜是什么意思 什么是抖動(dòng)(jitter) 所謂jitter就是一種抖動(dòng)。具體如何解釋呢?讓我
    發(fā)表于 03-22 14:42 ?2473次閱讀

    基于Tail Fit算法抖動(dòng)分離

    提出了一種基于Tail-Fit算法抖動(dòng)分離技術(shù),給出了該算法的擬合結(jié)果,驗(yàn)證了算法的有效性。
    發(fā)表于 10-19 14:42 ?33次下載
    基于Tail Fit<b class='flag-5'>算法</b>的<b class='flag-5'>抖動(dòng)</b>分離

    時(shí)鐘抖動(dòng)的基礎(chǔ)

    介紹 此應(yīng)用筆記側(cè)重于不同類(lèi)型的時(shí)鐘抖動(dòng)。時(shí)鐘抖動(dòng)是從它的時(shí)鐘邊沿偏差理想的位置。了解時(shí)鐘抖動(dòng)非常重要在應(yīng)用中,因?yàn)樗鹬P(guān)鍵作用,在時(shí)間預(yù)算一個(gè)系統(tǒng)。 隨著系統(tǒng)數(shù)據(jù)速率的增加,定時(shí)抖動(dòng)
    發(fā)表于 04-01 16:13 ?6次下載

    抖動(dòng)的位同步環(huán)路設(shè)計(jì)(GARDNER)

    不受載波相偏影響、實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn),在數(shù)字同步通信系統(tǒng)中被廣泛應(yīng)用。然而傳統(tǒng)Cardner算法的定時(shí)誤差檢測(cè)在環(huán)路收斂后仍存在較大的白噪聲,造成定時(shí)誤差抖動(dòng)較大,繼Cardner后的國(guó)內(nèi)
    發(fā)表于 11-02 15:22 ?1次下載
    降<b class='flag-5'>抖動(dòng)</b>的位同步環(huán)路設(shè)計(jì)(GARDNER)

    基于新閾值函數(shù)的小波閾值去噪算法

    本文主要介紹了一種基于新閾值函數(shù)的小波閾值去噪算法。在小波閾值去噪法中的兩個(gè)重要的因素—閾值選取方式和
    發(fā)表于 01-10 10:12 ?1.1w次閱讀
    基于新<b class='flag-5'>閾值</b>函數(shù)的小波<b class='flag-5'>閾值</b>去噪<b class='flag-5'>算法</b>

    電機(jī)抖動(dòng)大怎么解決

    電機(jī)抖動(dòng)大怎么解決 電機(jī)抖動(dòng)大是指在電機(jī)運(yùn)轉(zhuǎn)時(shí)發(fā)生了震動(dòng)或抖動(dòng)現(xiàn)象,它主要是由于電機(jī)失衡、機(jī)械系統(tǒng)不穩(wěn)定、設(shè)計(jì)誤差或部件故障等因素造成的。如果不及時(shí)解決,電機(jī)
    的頭像 發(fā)表于 08-28 18:24 ?6571次閱讀
    青浦区| 白城市| 临夏市| 辛集市| 南川市| 舞钢市| 玉山县| 新丰县| 上犹县| 松溪县| 长海县| 七台河市| 如东县| 靖州| 师宗县| 松潘县| 大冶市| 通榆县| 宁陵县| 二手房| 雷山县| 仁化县| 南郑县| 行唐县| 永川市| 绥江县| 香河县| 自贡市| 故城县| 厦门市| 得荣县| 甘孜县| 炉霍县| 民勤县| 湖南省| 黄平县| 景德镇市| 绥化市| 和平区| 石屏县| 贵溪市|