請問一下資料型態轉換的問題 |
答題得分者是:arisaka_matsuri
|
amadeus2
一般會員 發表:4 回覆:2 積分:1 註冊:2007-12-20 發送簡訊給我 |
大家好!!!
我自已目前正在進行一些程式連結的問題(MATLAB與BCB) 最主要處理一些影像相關的資訊 現在最大的問題是圖案讓MATLAB處理完後用memcpy的方式 目前只能得到一個 A[ col] [row ] 的double型態矩陣 裡面存0~255不等的資料,灰階、二值就存1個,彩色圖片就存3個,分別存RGB資訊 等等我要將這些矩陣還原成圖 問題在於 0~255只有佔8Bits的空間,應該用Byte 請問要如何把一個double的矩陣變成Byte型式的矩陣呢 是用 [code cpp] Byte B= A; [/code] 然後使用for去填回嗎? 還是使用Scanline時,使用double型態的矩陣也可以呢? 謝謝!感激不盡!!
------
程式gogogo |
amadeus2
一般會員 發表:4 回覆:2 積分:1 註冊:2007-12-20 發送簡訊給我 |
我試著用強制轉換,也就是使用運算轉換的方式
設定一個char型態的資料變數與矩陣元素相乘,讓相乘的元素全變為char型式,不知道可不可以 [code cpp] double A[2][2]={{1,2},{3,4}}; char B[2][2]; unsigned char CharData=1 ; //設定一個a的變數 char dd=2 ; //做為最後比較用變數 B[0][0]=A[0][0]*CharData; //每個矩陣元素都強制轉換成char B[1][0]=A[1][0]*CharData; B[0][1]=A[0][1]*CharData; B[1][1]=A[1][1]*CharData; int c=sizeof(B[1][1]); //這邊中斷顯示1 int cc=sizeof(dd); //這邊中斷也顯示1代表1bytes int ccc=sizeof(A[1] [1] ); [/code] 以上我從BCB設中斷點在最後面,發現整個B的資料跳出來是{{1,2},{3,4}} 我想請問一下,這樣算是成功了嗎?
------
程式gogogo |
arisaka_matsuri
高階會員 發表:25 回覆:205 積分:231 註冊:2003-10-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |