日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

灰度变换及dithering抖动算法

發(fā)布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 灰度变换及dithering抖动算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.灰度變化:

色深是一個可以顯示灰階個數(shù)的參數(shù)。對于8bit的顯示器來說,灰階數(shù)就是256個;對于10bit的顯示器來說,灰階數(shù)就是1024個,所以位數(shù)越高的顯示器,灰階范圍也就越大,圖像的明暗變化也就越平滑。

如下圖1所示,是一個變化不平滑的灰階,它對于圖像的明暗顯示局限性非常的大;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1

圖2是8bit的灰階范圍圖,但是由于8bit無法將全部的灰階顯示出來,所以灰階圖上會出現(xiàn)一條一條的條帶,這種現(xiàn)象稱為“色帶”。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2

圖3是16bit的灰階范圍圖,可以看到16bit的灰階范圍更為廣闊,明暗變化也更為平滑。

?

?

2.抖動算法

對于8bit的顯示器,加入我們給它足夠的補(bǔ)償,那么8bit的顯示器對于灰階的顯示也會更加的平滑。抖動算法( dithering)就是實(shí)現(xiàn)這一目的的重要方法,也可以知道,抖動算法就是高精度信號轉(zhuǎn)換到低精度信號時,對損失部分信號的填補(bǔ)與增益。

為什么高精度信號轉(zhuǎn)換為低精度信號時會失真?

試想,高精度信號是一個保留1位小數(shù)的等差數(shù)列:1.0,1.6,2.2,2.8,3.4……

而低精度信號只能保留每項(xiàng)為整數(shù),這時候這個等差數(shù)列會變成什么樣?

四舍五入:1,2,2,3,3

向下取整:1,1,2,2,3

向上取整:1,2,3,3,4

常規(guī)方法下生成的新數(shù)列沒有一個能還原出原數(shù)列等差排列的效果:新信號不僅丟失了精度,更重要的是變化的幅度不再均勻——這才是最要命的,而這其實(shí)就是圖像信號中色帶(banding)的產(chǎn)生原因。

而抖動算法正為此而生,抖動算法通過在原信號之間增加噪音,使得新信號呈現(xiàn)出和原信號更多的一致性。

下面是一個抖動算法效果的演示:

上圖中,左圖為原圖,原生具有8bit的高位深。當(dāng)其以低位深輸出時,中間的圖是不加抖動的結(jié)果,而右圖使用了一種error diffusion dithering的算法,于是結(jié)果迥異。右圖雖然增加了噪點(diǎn),但完全避免了色帶的產(chǎn)生。

這個演示告訴了你,在選擇顯示器時,原生10 bit面板固然最好,但即使8 bit面板仍然能很好地表現(xiàn)10 bit內(nèi)容。上圖是8 bit內(nèi)容抖動到有效精度不到3bit情況下的結(jié)果,可想而知,10 bit內(nèi)容抖動到8 bit的效果會更好得多,而且基本上不會增加太多可聞的噪點(diǎn)。

總結(jié)

以上是生活随笔為你收集整理的灰度变换及dithering抖动算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。