2016-11-11 43 views
-1

我試圖找到一種方法從圖像中的每個像素中獲取rgb值。如果我有一個3x3的圖像,正是我試圖得到儘可能的輸出是這樣的:查看jpg或bmp圖像的源代碼

{ 
    "0-0": [125,222,0], 
    "0-1": [125,222,0], 
    "0-2": [125,222,0], 
    "1-0": [125,222,0], 
    "1-1": [125,222,0], 
    "1-2": [125,222,0], 
    "2-0": [125,222,0], 
    "2-1": [125,222,0], 
    "2-2": [125,222,0] 
} 

我知道這將propbly被標記,但伊馬把它還有一個有點模糊的問題。

感謝和歡呼

+0

你打算使用哪些庫/編程語言? – Miki

+1

你說的太模糊/寬泛/不清楚+現在關閉。添加什麼語言/操作系統/ gfx庫的具體細節?數組通常也不會被字符串索引。有很多方法可以做到這一點1.使用第三方庫2.編寫自己的解碼器3.使用編譯器/ IDE/OS平臺的內部編譯功能。如果你想編寫自己的解碼器,那麼JPEG對於新手來說編碼太多了,而且BMP有太多的變化,所以我只會解碼一個特定格式的BMP(比如解壓縮的24bit RGBA或者什麼),並且轉換你需要的任何圖像到這樣的格式。 – Spektre

+0

看看這個[在C++,PNG,JPEG上打開圖像文件](http://stackoverflow.com/a/37340970/2521214)它是使用#1,#2加載多種圖像類型的VCL/C++示例使用目前的PCX解碼代碼,您可以看到它的外觀...... PNG用於LIBPNG,用於BMP,JPEG編譯器/ IDE內置功能,其餘所有解碼器都有我自己的解碼器(僅示例中包含PCX代碼) – Spektre

回答

0

它實際上很簡單(但很難)。您需要爲您感興趣的每種圖像格式獲取解碼器。然後,您需要解碼圖像。然後你需要打印解碼器返回的像素值。

在許多情況下,您可以直接從保存在BMP文件中的數據執行此操作。但是,來到BMP文件是RLE編碼,並會使這不可能。