我正在使用Netbeans平臺在Java Swing中製作桌面應用程序。我想將16位灰度圖像轉換爲RGB圖像。我怎樣才能做到這一點?如何將16位灰度圖像轉換爲java中的RGB圖像?
1
A
回答
1
灰度保持單一值黑色,而RBG保持三個紅色藍色和綠色。你可以用這個方法做的最好的是一個單色圖像,你可以用BufferedImage
類中的getRGB(x, y)
方法做到這一點。由於你的輸入圖像是灰度的,你可以從中選取三個顏色值中的任何一個,因爲它們應該是相同的。然後將該值用於您選擇作爲單色基礎的任何顏色。
下面是一個例子與紅色:
public BufferedImage changeToRedMonochrome(BufferedImage grayImage)
{
int width = grayImage.getWidth();
int height = grayImage.getHeight()
BufferedImage redImage = new BufferedImage(
width, height, BufferedImage.TYPE_INT_RGB);
for (int y=0; y<height; y++)
{
for (int x=0; x<width; x++)
{
Color grayColor = new Color(grayImage.getRGB);
int gray = grayColor.getRed();
int red = (gray > 127) ? 255 : gray/2;
int blue = (gray > 127 ? gray/2 : 0;
int green = (gray > 127 ? gray/2 : 0;
Color redColor = new Color(red, blue, green);
redImage.setRGB(x, y, redColor);
}
}
}
它並不完美的代碼,當然就需要進行調整,以滿足您的特定需求,但是這是你可以做一個單色圖像的一種方法。
1
Incompl描述的getRGB/setRGB方法應該可以工作。但是,如果我沒有記錯的話,它的表現相當差(這些方法在這種情況下做了很多不必要的工作)。我認爲這將是更快速地繪製新形象,讓Java來優化從BufferedImage.TYPE_USHORT_GRAY
到BufferedImage.TYPE_INT_RGB
轉換:
int width = grayImage.getWidth();
int height = grayImage.getHeight()
BufferedImage newImage = new BufferedImage(
width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = newImage.getGraphics();
g.drawImage(grayImage, 0, 0, null);
g.dispose();
+0
我可以使用LookUp Table將16位Gray_Scale轉換爲RGB嗎?如果是,比如何使用LookUp表進行轉換? – Jay
相關問題
- 1. 將RGB圖像轉換爲灰度和灰度轉換爲RGB圖像?
- 2. MATLAB/Opencv:將24位RGB圖像轉換爲16位灰色
- 3. 如何將16位,TIFF,灰度圖像轉換爲32位,TIFF,在Java中的灰度圖像?
- 4. 如何將RGB圖像轉換爲灰度圖像?
- 5. 如何將灰度圖像轉換爲RGB圖像?
- 6. 手動將RGB RGB圖像轉換爲灰度圖
- 7. 轉換灰度圖像爲RGB
- 8. 轉換爲灰度圖像到RGB
- 9. 將RGB圖像轉換爲RGB 16位和8位
- 10. 使用matplotlib將灰度圖像轉換爲RGB熱圖像
- 11. 將RGB圖像轉換爲灰度圖像減少了java中的內存
- 12. 將圖像轉換爲灰度圖像
- 13. 使用數組矩陣將圖像轉換爲灰度RGB java
- 14. 如何在C#中將32bpp圖像轉換爲16 bpp圖像? (灰度)
- 15. 如何用全綵色將灰度圖像轉換爲rgb?
- 16. iOS - 如何將png圖像轉換爲4位位圖灰度?
- 17. 如何將索引圖像轉換爲Java中的RGB圖像?
- 18. 在java中轉換8位灰度RAW圖像中的圖像
- 19. 如何將在原始RGB圖像的某個像素中賦予閾值的灰度圖像轉換爲RGB?
- 20. 將YUV圖像轉換爲灰度圖像 - 與RGB轉換爲灰度相同的結果?
- 21. 如何在Java中將16位.tiff圖像轉換爲8位.tiff圖像?
- 22. Winforms的RGB圖像灰度8位和16位
- 23. 在vC++中使用opencv將rgb圖像轉換爲灰度圖像
- 24. 如何將灰度圖像轉換爲Java中的顏色?
- 25. Java將圖像轉換爲灰度,圖像不會顯示
- 26. 將合併的RGB圖像轉換爲灰度OPENCV ANDROID
- 27. RGB圖像到熱像圖的灰度轉換
- 28. 如何將24位圖像轉換爲16位rgb565位圖?
- 29. 使用imagemagick將JPG圖像從灰度轉換爲RGB
- 30. 如何將16位灰度圖像寫入爲jpeg?
[?你嘗試過什麼(http://mattgemmell.com/2008/12/08 /什麼具備的,你試了/)。 – user1329572
使用['ImageJ'](http://rsbweb.nih.gov/ij/)。 – trashgod
我可以使用LookUp Table將16位Gray_Scale轉換爲RGB嗎?如果是,比如何使用LookUp表進行轉換? – Jay