今天到網路上大概看了一下C++ stream關於binary file I/O的部份。本來是打算用fread和fwrite搞定事情。不過不曉得為甚麼,用fread讀出來的東西都會變樣,把buffer改unsigned還是改size也沒用,最後就不了了之(追求安逸真的是妨礙進步的最大動力啊...),改用fstream以後binary I/O就正常了。
根據我自己對ISO 10918-1的理解,abbreviated table only jpeg和abbreviated image only jpeg應該只要把前面的EOI和後面的SOI marker處理掉就可以合併成正常的jpeg檔,結果事與願違合併出來的是怪怪的東西。打開Hex editor開個漫畫的jpeg檔,用和ISO以及合併出來的怪檔進行比對也對不出所以然來,實事求是力量還是不敵我自己水準的不足和長久的懶惰習氣。
雖然Aperio官方的doc說他的切片檔主要採用JPEG 2000進行壓縮,但是查了手邊的Jpeg2000參考書,開Hex editor進行比對以後,覺得裡面的Marker並不是JPEG2000,所以我猜測裡面的東西是JPEG,應該不會錯。
最後去網路上Google,下載了libjpeg,把八十頁的Library manual印出來,明天有空的時候看一下。要是無法用libjpeg得到我要的圖檔,自己又研究不出東西,那恐怕就必須放棄自己寫模組這條路了,可能就得採用把沒有身份認證的Image Server關在後面,然後用有身份認證的Server當介面去Relay HTTP Request這樣。想也知道沒有效率,而且蠻可惜的,畢竟我已經走到可以把符合ISO standard的Jpeg datastream從TIFF挖出來的地步,這裡放棄實在很不甘願,希望事情不會變成這樣。
明天應該會優先寫系學會的程式吧,好久沒寫了,對於上頭的Request已經心中有個譜要怎麼寫,明天應該可以快樂的動工。
--
每天回來就寫程式,去學校就在課堂上看共筆或是聽講,這種白天當醫生,中午當鋼琴家,晚上當程式設計師的日子其實也很愉快,重點是很紮實。黃易群俠傳或是小朋友齊打交或是世紀帝國,無可否任都很好玩,但是不管玩多久都是一事無成,終究會懊喪。所以現在讀書之餘的時間,就讀手邊的電腦書,兼顧有用的興趣順便過過當程式設計師的癮。
唯一的困難是,要抑制我血液中對於電動的渴望以及看到難題就逃跑的態度....
全文連結
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言