我有位圖和JPEG圖像。我將不得不從圖像中獲取所有像素的RGB值。請建議一種從圖像文件中檢索RGB值的方法。如果在C.使用C編程將RGB圖像轉換爲YUV
0
A
回答
1
可以解析和使用libJPEG從JPEG得到位圖 - 這是在「RGB」很簡單
假設你有和RGB bimap的。結果將被放置在'yuv420p'向量中。
void rgb2yuv420p(std::vector<BYTE>& rgb, std::vector<BYTE>& yuv420p)
{
unsigned int i = 0;
unsigned int numpixels = width * height;
unsigned int ui = numpixels;
unsigned int vi = numpixels + numpixels/4;
unsigned int s = 0;
#define sR (BYTE)(rgb[s+2])
#define sG (BYTE)(rgb[s+1])
#define sB (BYTE)(rgb[s+0])
yuv420p.resize(numpixels * 3/2);
for (int j = 0; j < height; j++)
for (int k = 0; k < width; k++)
{
yuv420p[i] = (BYTE)((66*sR + 129*sG + 25*sB + 128) >> 8) + 16;
if (0 == j%2 && 0 == k%2)
{
yuv420p[ui++] = (BYTE)((-38*sR - 74*sG + 112*sB + 128) >> 8) + 128;
yuv420p[vi++] = (BYTE)((112*sR - 94*sG - 18*sB + 128) >> 8) + 128;
}
i++;
s += colors;
}
}
0
任何可用的功能。如果你想這個做自己我會讚賞,這裏是德維基百科的文章,我從當我做這個工作的工作,大約一年回: http://en.wikipedia.org/wiki/YUV
這也是相當不錯的: http://www.fourcc.org/fccyvrgb.php
但更容易的是jpeglib - 這不是我的情況下的選擇,因爲數據不是在第一個位置的jpeg。
相關問題
- 1. Javascript將YUV轉換爲RGB
- 2. 將RGB圖像轉換爲YUV並將其轉換回matlab
- 3. c#將YUV 4:2:2轉換爲RGB?
- 4. RGB轉換爲YUV,+ FFmpeg的
- 5. 如何將YUV轉換爲RGB高效
- 6. android-Renderscript將NV12 yuv轉換爲RGB
- 7. 將YUV圖像格式轉換爲PNG
- 8. YUV到RGB轉換錯誤
- 9. 錯誤的結果使用GLSL將YUV轉換爲RGB
- 10. 關於使用GLSL將YUV(YV12)轉換爲RGB
- 11. YUV到RGB轉換。 RGB文件結構?
- 12. 將YUV圖像轉換爲灰度圖像 - 與RGB轉換爲灰度相同的結果?
- 13. 使用C++和Cimg庫將RGB圖像轉換爲矩陣
- 14. 將RGB圖像轉換爲灰度和灰度轉換爲RGB圖像?
- 15. 使用matplotlib將灰度圖像轉換爲RGB熱圖像
- 16. 使用python PIL將RGB圖像轉換爲純黑白圖像
- 17. 如何將索引圖像轉換爲C#中的RGB圖像?
- 18. Yuv(NV21)圖像轉換爲位圖
- 19. 將yuv文件轉換爲C#形式的圖像
- 20. 使用BOOST :: GIL將CYMK圖像轉換爲RGB使用BOOST :: GIL
- 21. 使用C#如何將RGB轉換爲YCrCb和YCrCb爲RGB
- 22. x265編碼器,將yuv轉換爲x265_picture
- 23. 手動將RGB RGB圖像轉換爲灰度圖
- 24. Blackmagic frame:從yuv轉換爲RGB在openCV中使用
- 25. 使用gstreamer將yuv轉換爲avi
- 26. 轉換32位rgb圖像爲8位rgb C++
- 27. 如何將RGB轉換爲YUV在整數,然後恢復
- 28. 在OpenCV中將YUV轉換爲BGR或RGB
- 29. 將圖像轉換爲RGB爲圖像功能
- 30. 使用C#將圖像轉換爲SVG
是不是libjpeg不夠好? – 2012-12-24 07:54:32