我正在寫一個小應用程序,它讀取圖像中每個像素的顏色並將其寫入文件。首先我是用Python做的,但是在大圖片上它太慢了。然後我發現了可以使用的FreeImage庫,但我無法理解如何使用GetPixelColor方法。 您能否提供一個關於如何獲得顏色的例子,例如像素[50:50]? 這裏是關於GetPixelColor的信息:http://freeimage.sourceforge.net/fnet/html/13E6BB72.htm。 非常感謝!FreeImage:獲取像素顏色
0
A
回答
4
隨着使用FreeImagePlus一個24位或32位的圖像,得到了像素在COORDS 50,50應該是這樣的:
fipImage input;
RGBQUAD pixel;
input.load("myimage.png");
height = in.getHeight();
in.getPixelColor(50, height-1-50, &pixel);
請注意,在FreeImage的原產地是左下角,所以y值大概會需要通過如上所述從圖像高度減去y來反轉。
0
要從輸入圖像獲取像素顏色:img,從函數調用讓我們說:void read_image(const char* img)
請按照下面的代碼片段。
這裏是上面read_image函數的代碼片斷:
FREE_IMAGE_FORMAT fif = FreeImage_GetFIFFromFilename(img);
FIBITMAP *bmp = FreeImage_Load(fif, img);
unsigned width = FreeImage_GetWidth(bmp);
unsigned height = FreeImage_GetHeight(bmp);
int bpp = FreeImage_GetBPP(bmp);
FIBITMAP* bitmap = FreeImage_Allocate(width, height, bpp);
RGBQUAD color; FreeImage_GetPixelColor(bitmap, x, y, &color);
可變color
將包含圖像像素的顏色。可以按如下方式提取的RGB值:
float r,g,b;
r = color.rgbRed;
g = color.rgbGreen;
b = color.rgbBlue;
希望它能幫助!
相關問題
- 1. GDAL獲取像素顏色
- 2. Java - 獲取像素顏色
- 3. 獲取FreeImage像素的數據格式?
- 4. 從圖像中獲取像素顏色
- 5. WriteableImage - 如何獲取像素的顏色?
- 6. 嘗試獲取像素顏色
- 7. 獲取UIImage的像素顏色
- 8. 從Kinect Depth Stream獲取像素顏色
- 9. 如何從像素獲取顏色? OpenGL
- 10. 從CCRenderTexture獲取像素的顏色
- 11. Java獲取像素的顏色LIVE
- 12. 使用Magick獲取像素顏色++
- 13. 從NSImage獲取像素和顏色
- 14. 獲取AVCaptureSession或AVCaptureVideoPreviewLayer的像素顏色
- 15. 從圖片中獲取像素顏色?
- 16. 獲取rMagick中像素的顏色
- 17. 獲取像素的顏色在Android的
- 18. 獲取像素顏色不準確
- 19. Dart - 獲取ImageElement的像素顏色
- 20. 如何獲取圖像中像素的顏色(加載灰色)?
- 21. 顏色有色UIImages獲得像素化
- 22. 讀取圖像的像素顏色
- 23. 使用調色板從TIFF獲取像素顏色索引
- 24. 如何使用FreeImage獲取子圖像
- 25. 減少顏色使用的FreeImage庫(C#)
- 26. 獲取pygame中圖像的單個像素的顏色
- 27. 如何從圖像中獲取像素的顏色?
- 28. 從網絡攝像頭獲取像素顏色
- 29. iOS:從圖像的每個像素獲取頂部顏色
- 30. 在Swift 3中使用CGPoint從圖像獲取像素顏色
如果可以使用DevIL或CImg來完成,那也不錯。 – ghostmansd