回答
您提供的信息太少。首先,相機提供的圖像格式是什麼?它是一些RAW格式,JPEG或其他?
否則它編程(用C爲例子):
去的最佳方法是使用一些圖像加載庫(例如SDL_image),並且將圖像加載到內存中,未壓縮的RGB作爲目標格式。一旦你有一個未壓縮的RGB圖像格式,你可以不喜歡
// bufPtr points to the start of the memory containing the bitmap
typedef unsigned char byte;
struct rgb { byte red, green blue; } * colorPtr = bufPtr;
for (int i = 0; i < bufSize; i++, bufPtr++) {
byte gray = (unsigned char) (((float) bufPtr->red * 0.3f +
(float) bufPtr->green * 0.59f +
(float) bufPtr->blue * 0.11f))/3.0f * 255.0f + 0.5f);
bufPtr->red = bufPtr->green = bufPtr->blue = gray;
}
如果你不想代碼,你可以如使用GIMP,加載您的圖像並應用顏色菜單中的去飽和度。您可以安裝GIMP的ufraw插件以加載RAW格式的圖像。如果要以8位存儲整個顏色信息(並且不使用每個顏色通道8位),則GIMP中還有另一個選項用於減少顏色深度。
感謝karx,實際上我試圖轉換從相機拍攝的jpg圖像。而我所需要做的就是轉換而不使用任何其他工具。 – Sivalingaraja
我是否理解你:你想轉換圖像既不寫你自己的程序,也不使用任何工具(圖像編輯程序)?這是不可能的。我唯一能想到的另一個選擇是相機在拍照時可以選擇創建灰度圖像。但是,如果您已經有了jpeg圖像,則需要使用某種工具來轉換它們。 – karx11erx
- 1. 在.Net 2.0中將8位灰度tiff圖像轉換爲8位灰度jpg
- 2. iOS - 如何將png圖像轉換爲4位位圖灰度?
- 3. 轉換爲8位灰度
- 4. 將位圖(RGB_565)轉換爲灰度(8位)Android
- 5. 將RGB565轉換爲灰度(8位)
- 6. 轉換8位灰度級圖像以7位灰度級圖像
- 7. 將32bpp位圖轉換爲16bpp(灰度)
- 8. 轉換8位色的BMP圖像到8位灰度BMP
- 9. Android:將imageview轉換爲位圖,灰度,將位圖轉換爲imageview
- 10. 位圖8位灰度圖像在C
- 11. 如何將16位,TIFF,灰度圖像轉換爲32位,TIFF,在Java中的灰度圖像?
- 12. 將圖像轉換爲灰度圖像
- 13. 在java中轉換8位灰度RAW圖像中的圖像
- 14. 保存UIImage爲8位灰度位圖
- 15. 如何在C#中將8位灰度圖像轉換爲byte []數組?
- 16. 如何將16位灰度圖像轉換爲java中的RGB圖像?
- 17. 如何將16位深度的圖像轉換爲8位深度
- 18. C# - 如何將圖像轉換爲8位彩色圖像?
- 19. 如何將圖像轉換爲位圖
- 20. 如何將位圖轉換爲圖像
- 21. 將RGB圖像轉換爲灰度和灰度轉換爲RGB圖像?
- 22. 如何將32位RGBA圖像轉換爲保存灰度圖的alpha
- 23. 將8位二進制向量轉換爲1灰度像素
- 24. 如何將灰度位圖轉換爲alpha蒙版?
- 25. 如何將short []轉換爲int []來創建灰度位圖?
- 26. MATLAB/Opencv:將24位RGB圖像轉換爲16位灰色
- 27. 如何在Java中將16位.tiff圖像轉換爲8位.tiff圖像?
- 28. 如何將24位圖像轉換爲16位rgb565位圖?
- 29. 將簡單圖像轉換爲灰度
- 30. 將圖像轉換爲灰度
你在使用什麼編程語言? –
以編程方式,或使用一些圖像編輯程序? – karx11erx