2013-04-07 171 views
3

我正在尋找命令和選項來將圖像(png,jpeg,無論...)轉換爲1bit/px位圖圖像(類似於將photoshop轉換爲位圖時發生的情況)。見下面的例子如何使用ImageMagick或RMagick將圖像轉換爲1bit/px二進制位圖?

我想從一個Rails應用程序中(如RMagick或通過ImageMagick的)編程做

enter image description here

以下工作:

convert yo.jpg -remap pattern:gray30 mono.gif 

但我喜歡更好地瞭解發生了什麼事情,相比於phosotsohp在這種情況下會做什麼;考慮到多種可能性解釋here(@roger_rowland THX再次鏈接)

到底是什麼我想要做的就是有這個「效果」,並沒有與模糊效果,結束了放大圖像

+0

http://askubuntu.com/questions/9868/convert-an-image-from-grayscale-to-binary || http://unix.stackexchange.com/questions/108613/how-do-you-binarize-a-colored-image – 2015-09-25 19:08:07

回答

1

也許你只需要看看覆蓋量化和抖動的ImageMagick documentation,我認爲這正是你所要求的。是嗎?

好的 - 爲了確保在調整大小時不會模糊,您需要保留原始圖像的副本(即在半色調或抖動之前)。然後,當您需要調整大小時,在原始圖像的副本上執行調整大小(上或下,使用合適的插補器),然後在原稿的這個調整大小的副本上重複單色轉換以獲得調整大小的單色。

編輯 - 以下的最新評論,嘗試這樣的事情:

convert yo.jpg -colorspace Gray -ordered-dither h4x4a -scale 2000x2000 mono.png 
+0

好吧,我真正要找的東西是放大圖像而不使它模糊;和(很抱歉談論它)在Photoshop中轉換爲位圖的圖像在調整大小時不會變得模糊,您可以保留此「像素效果」 – Ben 2013-04-07 10:44:59

+0

只需編輯答案 - 現在可能會更有幫助嗎? – 2013-04-07 11:08:30

+0

有了這個>> convert yo.jpg -remap pattern:gray30 -transparent'#ffffff'-scale 2000x2000 mono.png我很想得到我想要的東西(我被調整大小而不是縮放了一會兒) – Ben 2013-04-07 11:18:48

0

-monochrome是使用一些聰明的抖動,併產生非常明顯的輸出選項:

convert -monochrome in.png out.png 

注大多數格式不支持1位深度,所以ImageMagic只使用最小的深度,例如8位全部字節爲00或FF的PNG。

Before

enter image description here

後:

enter image description here

相關問題