CCS5.5從硬碟讀入.dat資料格式的單張影象
阿新 • • 發佈:2019-01-03
當我們使用CCS5.5編寫處理單張影象的演算法工程時,涉及到如何匯入硬盤裡的影象資料到DSP指定記憶體裡的問題。下面做一下介紹。(整個工程程式碼下載:http://download.csdn.net/detail/luokh327/9483582)
1、使用MATLAB將需要匯入的影象轉換成DSP能識別格式的二進位制(.dat)檔案;
function CreateImgDat() clc; close all; clear all; %說明:生成DSP實驗所用的影象資料Dat檔案 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% I = imread('D:\MyProject\Matlab\picture\lena2.BMP');%開啟影象,這裡改成自己的影象名及路徑 %將影象縮小一點,不然資料量太大 I = imresize(I,[128,128],'bicubic');%<span style="color:#ff0000;">縮小成128*128、二維FFT時需要影象為2的n次方</span> figure,imshow(I);%顯示影象 [N M dim] = size(I);%獲取影象的高與寬 if(dim == 3) I = rgb2gray(I);%如果開啟的是彩色影象,則轉換成灰度影象 end fid = fopen('D:\MyProject\Matlab\data\lena128x128.dat','w');%儲存.dat影象資料檔案 fprintf(fid,'%d %d %s %d %d\n',1651,2,'8cc0',0,N*M);%寫入二進位制檔案的第一行 %將圖片資料寫入Dat檔案中 for n = 1:N for m = 1:M fprintf(fid,'%d\n',I(n,m)); end end fclose(fid); disp('Run OK')
2、配置MyFFTproject.cmd檔案,為匯入影象分配記憶體
-c -stack 0x00020000 /* Stack Size */ -heap 0x00020000 /* Heap Size */ MEMORY { VECS: o = 0x00000000 l = 0x00000080 IRAM: o = 0x00000080 l = 0x00007f80 /* 32 kBytes */ DRAM: o = 0x00010000 l = 0x00008000 /* 32 kBytes */ DDR2: o = 0x80000000 l = 0x04000000 /* 128 MBytes */ DDR2_VIDEO: o = 0x84000000 l = 0x04000000 /* 128 MBytes */ } SECTIONS { .bss > DDR2 .cinit > DDR2 .cio > DDR2 .const > DDR2 .data > DDR2 .far > DDR2 .stack > DDR2 .switch > DDR2 .sysmem > DDR2 .text > DDR2 .ddr2 > DDR2
.IMG > DDR2_VIDEO//匯入影象的地址
然後在main.c檔案裡連線記憶體,使用語句://以下為二維FFT計算時需要用到的記憶體分配 .Source > DDR2_VIDEO .Scale > DDR2_VIDEO .Out > DDR2_VIDEO .tdd > DDR2_VIDEO .fdd > DDR2_VIDEO .W > DDR2_VIDEO .X1 >DDR2_VIDEO .X2 > DDR2_VIDEO .TempT > DDR2_VIDEO .TempF > DDR2_VIDEO }
#pragma DATA_SECTION(IMG,"DDR2_VIDEO");
int IMG[16385];//此處陣列大小為匯入影象的大小(128 × 128),然後在接下來的函式中就可以使用影象資料了。
3、在CCS5.5的Tools-->Load Memory里加載資料;
4、執行演算法(我的是單張影象的FFT及擴充套件2倍大小加入退化函式,然後濾波IFFT,若演算法不一樣,此項會不同);
二維影象的FFT及IFFT的DSP實現看:
5、使用Tools-->Image Analyzer來顯示出來過程中的圖片:;
點選Image Analyzer後,在軟體下發會出現下圖,然後滑鼠右鍵設定Properties:
設定影象顯示的細節,包括影象大小,RGB/YUV的起始地址、灰度級等(裡面的引數具體的值可以多試一試,直到顯示正常為止):
最後在Image裡右鍵Refresh顯示影象:
總結:使用CCS3.3+TMS320DM342處理影象可參考《DSP原理及影象處理應用--趙小強》,裡面對於單張影象的處理介紹很詳細。