解析案例
代码设计实现
1.1.1.1中值滤波P11(滤波后图像像素点数据)= MIDPIX9
滤波设计案例解析
1.2滤波验证1.2.1HDL语言设计(均值滤波)要求:默认图像分辨率600*400
600X400图像
部分Verilog代码设计实现图像:
If(cnt== 15)cnt<= 0;else cnt <=cnt 1;//默认16个clk计算一个结果
Always @(posedge clk )
If(cnt == 15)
If(col ==600-3 ) begin
If(row==400-3)
Row<=0;
Else
Row<=row<=1;
col<=0;end
else col<=col 1;
always @(posedge clk )
case(cnt )
0:addr<= row*600 col 0;//P00
1:addr<= row*600 col 1;//P01
2:addr<= row*600 col 2;//P02
3:addr<= row*600 col 0 600;//P10
4:addr<= row*600 col 1 600;//P11
5:addr<= row*600 col 2 600;//P12
6:addr<= row*600 col 0 1200;//P20
7:addr<= row*600 col 1 1200;//P21
8:addr<= row*600 col 2 1200;//P22
endcase
always @(posedge clk ) begin
if(cnt==1)p00<=mem[addr];
if(cnt==2)p01<=mem[addr];
if(cnt==3)p02<=mem[addr];
…
if(cnt==9p22<=mem[addr];end
1.2.2MATA操作图像读
Im = imread(‘ xxx.jpg’);
Im =rgb2gray(im);
Im=imnoise(im,’salt &pepper’,0.03);
Imshow(im);
fid=fopen(’ img.dat‘,‘wt’)
for i=1:1:400
for j=1:1:600
fprintf(fid,’ %x\n’,im(i,j));
end
end
fclose(fid);
文件导入
Poim = importdata(‘posim.dat’);
Poim=uint8(Poim);
Imshow(Poim);
1.2.3验证结果