chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

今天給大家?guī)硪粋€(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ì)膩、更專業(yè)!

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

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

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

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

原理簡介:

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

實(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)算法

原理簡介:

閾值抖動(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)色帶問題,建議在圖片屬性設(shè)置中嘗試更換不同的圖像渲染算法,以改善圖像質(zhì)量:

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

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

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

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

總結(jié)

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

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

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

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

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

    關(guān)注

    5178

    文章

    20054

    瀏覽量

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

    關(guān)注

    23

    文章

    4750

    瀏覽量

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

    關(guān)注

    3

    文章

    691

    瀏覽量

    42667

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

文章出處:【微信號(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í)間參考是來自于采樣數(shù)據(jù),還是由外部提供。如果抖動(dòng)發(fā)生在采樣點(diǎn)跳變閾值的“錯(cuò)誤位置”,并且導(dǎo)致接收電路“錯(cuò)解”了該比特位發(fā)射時(shí)的真實(shí)情況,那么就會(huì)出現(xiàn)傳輸誤差。圖 1 就是對(duì)這種情形的描述。
    的頭像 發(fā)表于 11-29 18:26 ?4110次閱讀
    <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)測量三種方法

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

    抖動(dòng)算法

    最近在做有關(guān)鐵路目標(biāo)檢測的研究,用紅外CCD的視頻,因?yàn)镃CD是放在火車上的,火車會(huì)抖動(dòng),所以錄的視頻也是有很大的抖動(dòng),有沒有什么好的算法,可以消除抖動(dòng)呢,謝謝大神了,指點(diǎn)下?。?/div>
    發(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次下載

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

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

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

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

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

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

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

    什么是抖動(dòng)?什么叫抖動(dòng) 抖動(dòng)的定義是“數(shù)字信號(hào)的各個(gè)有效瞬時(shí)對(duì)其
    發(fā)表于 11-27 08:40 ?8019次閱讀
    什么是<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 ?2333次閱讀

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

    相位抖動(dòng)是從哪來的?通信中有哪些抖動(dòng)?

    發(fā)射端涉及到抖動(dòng)的來源有:Thermal Noise(隨機(jī)抖動(dòng)), Duty Cycle Distortion(占空比失真), Power Supply Noise(隨機(jī)抖動(dòng)和周期性抖動(dòng)
    的頭像 發(fā)表于 05-31 16:43 ?2084次閱讀
    相位<b class='flag-5'>抖動(dòng)</b>是從哪來的?通信中有哪些<b class='flag-5'>抖動(dòng)</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 ?6080次閱讀