2012-04-11 98 views
1

我在我的目錄中有一些圖像(.bmp,.png,.jpg)。我想將此圖像轉換爲WORD數組,以便以565種格式(16位像素)在LCD中顯示此圖像。如何將圖像轉換爲WORD數組?請幫忙。是否有任何實用工具將圖像轉換爲二進制文件?或者請在Windows C/CPP中提供一些代碼將其轉換爲二進制文件?如何將圖像轉換爲WORD(uint16)數組?

+1

您的意思是「如何在c/C++中打開.bmp,.jpg,.png文件」?我會爲此使用一些庫。 – 2012-04-11 10:02:57

+0

是的。我只想要它的像素的二進制。不需要任何標題。你用過哪個圖書館? – indira 2012-04-11 10:04:38

+0

http://forums.codeguru.com/showthread.php?t=374650 – 2012-04-11 15:08:15

回答

1

這將取決於輸入圖像的確切格式。

只是將「轉換爲單詞」並不真正表達您想要做什麼,這可能更像是「將位圖圖像轉換爲行格式的RGB565像素數組」。

您應該看看圖像處理庫,它允許您加載位圖圖像,並讀出每個像素的值。

你可能直接轉換到RGB565,不應該太難以從任何其他位圖格式。

請注意,有索引和「真彩色」位圖格式,你聽起來像你需要處理兩者。如果幸運的話,每種格式的圖書館都會將其抽象出來,例如一個uint32 read_pixel_as_rgb888()功能。

另請注意,許多位圖圖像格式都集中在壓縮上,這就是爲什麼只讀取文件的位數不夠用,您需要根據格式對數據進行解壓縮。這非常複雜,這就是爲什麼預先編寫的庫是唯一理智的選擇。

對於PNG,請看libpng,對於JPEG查找libjpeg。再次想到,這些庫可能有點太低級,也許你應該看看類似SDL_Image的東西。

-1

您可以利用光學字符識別技術將圖像轉換爲文本格式(像這樣:http://products.softsolutionslimited.com/img2ocr/category/image_to_word.htm),然後處理結果的文本。或者,如果您想直接加載圖像,請在灰度模式下使用freeimage.dll http://freeimage.sourceforge.net/sourcecode.html庫,然後發光黑色像素。

+0

這不是在這裏問什麼;他正在從圖像中讀取二進制數據 - 而不是OCR。 – 2013-02-16 10:17:39