2007年1月21日 星期日

多媒體專題_1

動態影像拍攝視訊大小為 320*240 像素,
每秒 30 個畫面 (frame),所以不含聲音部份,
原始視訊資料量應該為 320*240*3*30*12 = 82,944,000 Bytes。
換句話說, 就是 82.9 MB
(or 82,944,000 / 2^20 = 79.1MB)經過壓縮後, 才會變成不到 6 MB 的!)

Q1 :為什麼320*240*3*30*12 = 82,944,000 Bytes 中,要乘以3??

因為像素中有R,G,B三種色調,所以每種色調都需要抓一次,
所以320*240
(動態影像拍攝視訊大小)*3(抓R,G,B,共三次)*30(每秒30個畫面)*12(錄了12秒)

每一張影像中的每一個像素(一個點)
其實有3種基本色素組成"RGB"..紅.綠.藍..
所以同依畫面必須要 (記錄320*240個畫素再*3種顏色)
這就是一個畫面所需的儲存空間之後再*30張每秒*12秒

Q2 :為什麼像素要寫入陣列內??會比較好??

用兩個for迴圈將圖裡的像素(Pixel)寫入陣列(Array)中,
for(i=...)
for(j=...)
M[i][j]=GetRValue(Image1->Canvas->Pixel[i][j]);
將Image1第i行第j列的像素抓起來assing到陣列的第i行第j列,
設定好i,j值的範圍後讓M[i][j]=某種色
例如:(0,0,0) or clRed or 抓圖上的色...
總之...聽完的結果是...將像素放入陣列中運作,
會比較"快"。

沒有留言: