2012-06-17 132 views
2

我正在使用LinkSprite JPEG彩色攝像機拍照。我從UART獲取C Sharp的圖像數據的十六進制值。相機的用戶手冊說明了圖片的數據結構,以十六進制FFD8開始,ans以FFD9結束。我得到的值符合這個描述。當我使用ByteWriter將這個十六進制值保存到一個文件中,但輸出文件無效時,我看不到圖片。如何將這些值轉換爲JPEG文件?用LinkSprite JPEG彩色攝像機拍照

我使用基於HCS12微控制器的DRAGON培訓板。我通過UART獲取相機數據。我正在使用C在DRAGON板上寫我的代碼。這裏是我的代碼:

http://pastebin.com/dR4BJMBZ

相機信息:
http://www.sparkfun.com/products/10061

用戶手冊:
http://www.linksprite.com/upload/file/1333187137.pdf

我的C#代碼:

http://pastebin.com/WXnTL7jd

+0

這是RAW數據嗎?如果是的話 - 您需要首先對其進行去馬賽克,以獲得RGB圖像。 JPEG距離更遠。您需要提供更多信息。 – Ani

+0

不,根據手冊不是RAW。 –

回答

1

OlcayErtaş,,你是對的,它不是原始數據

我的朋友和我在使用我們的相機時遇到同樣的問題。就像你我們使用UART提取HEX數據一樣,就像你我們沒有看到圖片。對我們來說,問題是使用記事本保存十六進制數據只會將其保存爲ASCII字符串。 (我們用記事本保存原始數據)

下面是我們如何解決這個問題:

  1. 我們使用XVI32十六進制編輯器程序(這是免費的)。
  2. 取出十六進制數據並將其從FF D8 ...複製到FF D9。
  3. 使用該程序將字符串插入到新文件中。
  4. 將文件另存爲.jpg文件。

我希望它適合你,就像它與我們一樣。

+0

非常感謝@Esawi。但我已經嘗試過相同的方法,但是我還有其他文件大小問題。你是如何從UART獲取文件的?你能告訴我你的代碼嗎? –

+0

Olcay ,,你能否給我更多關於你的設置和你的問題的細節?我們的尺寸面臨的唯一問題是我們使用的是帶有微控制器的相機,而且圖像尺寸太大而無法處理,因此必須將其分成更小的塊,供微控制器處理。 – Esawi

+0

我已經添加了一些信息。我們也嘗試了不同的塊大小,但仍然存在圖片大小的問題。 –