我該如何處理24位BMP並將其轉換爲單色位圖?我不關心丟失顏色等,我不想使用其他文件格式。將24位BMP轉換爲C中的單色位#
0
A
回答
3
基本上有兩種方法。您可以使用Interop方法讀取原始BMP數據併爲monchrome位圖寫入原始BMP數據。有googlable功能,這將做到這一點。
或者,更好的是,您可以使用ImageMagickObject使用stoichastic抖動來轉換圖像。
做第二個。
如果你做的第一個,你仍然應該使用stocichastic抖動,但你將不得不手動實現它。
編輯:您問「以下RGB值會變成什麼」......答案是它們變成了您希望它們變成的東西。你決定。
明顯的選擇是使用嚴格的閾值,其中小於X的任何東西變成黑色,任何東西變得更白,或者可以使用stoichastic抖動。選擇兩個閾值,黑色閾值bt
和白色閾值wt
,如0 < bt < wt < 255
。然後爲每個點選擇一個0.033之間的隨機數q
。和1.0。將像素亮度((r+g+b)/3
)與(q*(wt-bt)+bt)
進行比較。如果它大於或等於,則它是白色的,如果更少,則是黑色的。這會給你一個不錯的灰度。對於大多數目的來說,31和224對於bt和wt是很好的值,但對於攝影圖像0和255可能會更好。
相關問題
- 1. 將24位bmp轉換爲16位?
- 2. 將32位bmp轉換爲24位
- 3. 如何將jpg轉換爲24位未壓縮的BMP 4.0?
- 4. ImageMagick的:在24位BMP圖片不能轉換爲8位BMP圖像
- 5. 將8位bmp轉換爲半色調bmp
- 6. 32位rgb bmp到C#中的24位rgb bmp問題
- 7. 轉換8位色的BMP圖像到8位灰度BMP
- 8. MATLAB/Opencv:將24位RGB圖像轉換爲16位灰色
- 9. PHP將24位顏色轉換爲4位
- 10. 將24位顏色轉換爲4位RGBI
- 11. Matlab的:加載的.tif>轉換BMP 256>轉換BMP 24位
- 12. 將24位顏色轉換爲指定的8位顏色調色板
- 13. 將JPEG轉換爲8位BMP
- 14. 將內存中的24位圖像轉換爲索引顏色
- 15. 將24位圖像轉換爲8位單點觸摸?
- 16. 將彩色bmp轉換爲灰度bmp?
- 17. 24位BMP與256色BMP的像素存儲
- 18. 將UIColor轉換爲24位值
- 19. 將24位RGB轉換爲ARGB16
- 20. Ico格式 - 32位PNG與32位BMP與24位BMP
- 21. 將位圖轉換爲單色
- 22. Java中的24位到32位轉換
- 23. 如何將24位圖像轉換爲16位rgb565位圖?
- 24. 將12位顏色值轉換爲8位顏色值C++
- 25. Android:將位圖轉換爲單色位圖(每像素1位)
- 26. C/C++ - 將32位浮點值轉換爲24位標準化的定點值?
- 27. 將32位位圖保存爲C#中的1位.bmp文件
- 28. RGB 24位到16位顏色轉換 - 顏色變暗
- 29. 24位到1位位圖轉換
- 30. 如何在Compact Framework上將位圖轉換爲1bpp到單色bmp文件?
下面的rgb值會變成什麼:(1,1,1)[一個比黑色多],(2097151,2097151,2097151)[白色和黑色之間的一半],(4194302,4194302,4194302)[一個小於白色]? –