[問題] DCT轉換實作已回收
不好意思 我在作DCT轉換時遇到問題了(有爬過相關文及網路上的論壇
所以想請教版上各位高手
問題是這樣的:
我要對一張512*512的圖(raw檔)作DCT轉換
再以8*8的矩陣做量化 反量化
再作IDCT
就是作JPEG影像壓縮 但是不能使用dct2等funtion call
於是我參考了這個網址的程式碼
http://www.programmer-club.com.tw/ShowSameTitleN/cb/13866.html
試著把它轉成MATLAB的格式寫法
我輸入程式碼如下:
f=fopen('Lena.raw','r'); % 讀檔 %
fid=fread(f,[512,512],'uint8') ;
for x=0;x<64;x++ % 把512*512切成64個8*8的block (X軸)%
for y=0;y<64;y++ % 把512*512切成64個8*8的block (Y軸)%
sum=0;
for u=0;u<8;u++ % 8*8的block裡面X軸方向的pixel %
for v=0;v<8;v++ % 8*8的block裡面Y軸方向的pixel %
sum+=fid [u][v]*cos((2x+1)*u*pi/16)*cos((2y+1)*v*pi/16); % DCT %
寫到這行按下enter準備寫下一行
卻出現這個錯誤訊息:
??? sum+=fid[u*8+v]*cos((2x+1)*u*pi/16)*cos((2y+1)*v*pi/16);
|
Error: The expression to the left of the equals sign is not a valid target for
an assignment.
請問可以告訴我是架構錯了還是算式寫錯了嗎?
JEPG的原理還有基本的作法我已經知道了(參考的網站講解的很清楚
只是在寫for迴圈有很大的問題
請各位高手指教, 感激不盡!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.210.250
→
06/20 05:12, , 1F
06/20 05:12, 1F
→
06/20 11:02, , 2F
06/20 11:02, 2F
推
06/20 13:47, , 3F
06/20 13:47, 3F
→
06/20 19:41, , 4F
06/20 19:41, 4F
→
06/21 01:24, , 5F
06/21 01:24, 5F
→
06/21 01:28, , 6F
06/21 01:28, 6F
→
06/21 01:31, , 7F
06/21 01:31, 7F
→
06/21 01:37, , 8F
06/21 01:37, 8F
→
06/21 01:38, , 9F
06/21 01:38, 9F
→
06/21 19:50, , 10F
06/21 19:50, 10F
討論串 (同標題文章)