Re: [問題] 如何讀取Memory裡面的Raw Image?

看板MacDev作者 (暑假閒閒的大學生~~)時間14年前 (2010/10/06 10:13), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/6 (看更多)
: : 各位先進大家好! : 小弟在這有個問題想請大家給點意見 : 就是目前我已經在QTCaptureView上面擷取到影像 : 也把它存成.bmp檔 : 但是.bmp檔上帶有54 bytes的檔頭 : 我不要那個檔頭 我只有檔頭外的資料(也就是raw image) : 舉例來說 : 640*480的.bmp檔大小就是 : 640 * 480 * 4 = 1228800 bytes + 54(檔頭) = 1228854 bytes : 檔頭占54 bytes,raw image占1228800 bytes : 但我現在希望能夠擷取不帶檔頭的raw image : 我現在想到有兩個方式 : 不過這兩個方式我都還找不到方法可以實做出來XD : 第一種 : 在轉成.bmp檔之前就把raw image讀出來 : 但是我是用NSImage當物件 : 我找不到該用甚麼method來做 : 第二種 : 轉成.bmp後 buffer存中有raw image : 但是連帶檔頭也在 : 我想用讀記憶體的方式 : 一個一個讀出來 : (也就是知道buffer的記憶體位置,利用記憶體指標向後位移54bytes在開始取) : 但是我在網路上找不到實作的Method : 所以現在就是卡在存的了圖 : 但讀不出raw image的情況 : 希望板上先進可以幫幫我 : 感謝!! : P.S 我存圖用的方法是: : NSImage *image <--Buffer內的圖檔資料以在image物件裡面 : NSBitmapImageRep *bitmapImage = [NSBitmapImageRep alloc] : initWithData:[image TIFFrepresentation]]; : [image addRepresentation:bitmapImage]; : NSData *data = [bitmapImage representationUsingType:NSBMPFileType : properties:nil]; : [data writeToFile:@"路徑" atomically : → zonble:應該是 NSData 的getBytes:range: zonble大 我剛剛試了 我不知道range要放甚麼樣的參數 而且如果不用range 則會出現下列的錯誤訊息: "Invalid use of viod expression" 不知道該怎麼去解決了@@ : 推 sinread:http://www.cocoachina.com/bbs/read.php?tid-26057.html : → sinread:參考一下上面那個連結~ sinread大 我看過裡面附的程式 我現在是已經轉換成我要的raw image了 只是我想要想辦法不要讀到檔頭的資訊 因為.bmp檔除了檔頭之外就是raw image 希望可以幫我想想辦法 小弟謝謝各位~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.177.46

10/06 12:32, , 1F
http://qijuzhu.cn/objective_c学习笔记之nsrange/
10/06 12:32, 1F

10/06 12:32, , 2F
小範例看一下, 如果知道bitmap檔頭格式, 應該不難
10/06 12:32, 2F

10/06 12:33, , 3F
把上面網址縮一下: http://tinyurl.com/24m72nl
10/06 12:33, 3F
文章代碼(AID): #1CgzilxG (MacDev)
文章代碼(AID): #1CgzilxG (MacDev)