什麼是製作半色調圖像的好算法(如this)?一個快速的谷歌搜索帶來了一堆關於這個問題的論文,但很難判斷哪些是好的,高效的等等。有沒有最好的選擇來做這種事情?製作半色調圖像的算法?
回答
- 篩選到你想要的分辨率 分隔的「點」。
- 獲取該區域的像素組的 的平均強度。
- 繪製點,使得點的面積 等於從白色到黑色的 平均強度的 百分比。
將像素組視爲六邊形網格。使用圓函數來決定哪些像素進入組。您可以調整圓圈的重疊以調整輸出的黑色/飽和度。這實際上是爲打印等高分辨率輸出而設計的。如果您要這樣做以在屏幕上顯示視覺效果,請確保使用消除鋸齒的圓形繪圖程序來補償顯示器的低分辨率。 (與打印相比,即使HD不是那麼高)。
如果你這樣做是因爲你喜歡這個效果,那很酷。但是,如果您只是想要使用「Floyd-Steinberg」抖動進行黑白映射,請使用「Floyd-Steinberg」抖動。它提供高質量的結果並在整個圖像中分配錯誤。 http://en.wikipedia.org/wiki/Floyd-Steinberg_dithering
http://en.wikipedia.org/wiki/Dither – kenny 2009-08-20 00:42:35
他們有一個很好的例子「floyd-stienberg」。這給了我過去最好的結果。 – NoMoreZealots 2009-08-20 01:26:53
這裏列出的「繪製點」算法確實在引用的示例網頁上實現了「黑點」效果。但構建屏幕和調整「黑點」效果的點形狀在運行時會更快。 – 2009-08-25 16:43:05
要做到這一點最簡單的方法,是像素去像素,並使用隨機: 對於每個像素,着色回來=黑暗的原始色彩的概率。
這可以給你一個雙線抖動算法。它不會像弗洛伊德 - 斯坦伯格那樣好看(因爲那個人會跟蹤錯誤),或者像「瓷磚然後把磁盤放在每個瓷磚中,使得黑色部分=原始瓷磚中的平均黑度」那樣具有藝術性,但在實踐中效果很好。
半色調效率非常高。
單級半色調: 輸入:圖像中的像素;預先構建的包含閾值的「屏幕」。 在運行時間:對於每個顏色通道,對於每個像素,選擇一個閾值(以陣列尺寸爲模的閾值數組索引)。像素與閾值之間的比較決定輸出值是打開還是關閉。
它推廣到多級輸出,以及通過使用多個屏幕。
有趣的部分是屏幕(閾值陣列)的構建。有許多變化 - 聚點(AM),隨機(FM),許多變化和混合,包括藍噪聲和綠噪聲(AM/FM)。而且您通常需要爲每個顏色通道選擇不同的屏幕。傳統的成簇網點在矩形網格中出現點,可以用它們的頻率(低頻=大點)和角度來描述(青色通常爲15°,品紅色爲75°,黃色爲90°,黑色爲45°) 。
如果您想要進行實驗,帶有半色調屏幕方法的Photoshop位圖(請參閱此tutorial)具有內部屏幕生成器,並將像您的示例一樣將灰度圖像屏幕顯示到位圖中。
其他人提出的抖動方法涉及更多的每像素計算,並且輸出不像您的聚類網點篩選半色調示例。
動畫示例:http://www.openprocessing.org/visuals/?visualID=911 – biziclop 2011-12-27 23:41:15
有許多算法的開源實現來創建半色調圖像。你可以看看源代碼。下面介紹一些使用Marvin Image Processing Framework在Java中開發的實現。
誤差擴散(source):
Rylanders(source):
抖動(source):
圈(source):
- 1. 半色調圖像效果
- 2. 在Python中的半色調圖像
- 3. 圖像C#和SIlverlight中的半色調
- 4. 圖像着色算法
- 5. JavaScript中顏色量化/縮小圖像調色板的算法?
- 6. 使用JavaScript爲圖像創建顏色半色調效果
- 7. 先進的圖像色彩算法
- 8. 製作像素半透明
- 9. 繪製圖像一半
- 10. 兩種顏色圖像壓縮算法
- 11. 如何適應彩色圖像灰度圖像的算法?
- 12. 如何優化基於調色板的圖像重新着色算法
- 13. 半色調的滑梯
- 14. 在圖像上應用色調來製作Java中的圖像灰度?
- 15. UIBarButtonItem - 如何製作半透明黑色?
- 16. 根據變量製作背景半色
- 17. 製作圖像的一半大小的Matlab沒有使用調整
- 18. 重繪()方法不工作的色調圖像
- 19. 圖像壓縮算法 - 打破圖像到廣場按顏色
- 20. 在掃描圖像上計算'視爲白色'值的算法
- 21. 色調不變的圖像
- 22. 改變圖像的色調
- 23. 像算法圖
- 24. R中的半色盒圖
- 25. Canvas.drawBitmap用黃色的色調繪製圖像
- 26. 如何繪製帶有顏色色調的緩衝圖像
- 27. 如何使用gimp製作半透明的jpeg圖像?
- 28. 製作引導程序的半滑塊輪播圖像響應
- 29. 圖像調整大小算法
- 30. 二進制圖像剪切算法
是否有你的問題更多的東西,你想回答?更多細節? – NoMoreZealots 2009-08-12 00:26:57