Re: [問題] DCT轉換實作已回收
其實你在google上打matlab for就能找到一堆資料了
比在這等答案快多了...
for i=1:10
%你要的指令
end
就等於
for (i=1;i<=10;i++)
{
//你要的指令
}
※ 引述《soyjay (隱鬼 桀)》之銘言:
: 不好意思 我在作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: 140.114.93.131
推
06/22 20:11, , 1F
06/22 20:11, 1F
討論串 (同標題文章)