关于CCSv5 Debug下image功能使用

    转载自:

        http://blog.csdn.net/liu1guo2qiang3/article/details/39061445

 

  

在网上搜索各类文章在不断尝试下总算能够利用image显示图像。写下该篇文章一为记录,二为交流。

目前是学习DSP菜鸟,学习芯片TMS320DM6437。CCS版本为5.4.0

文中蓝色字体有具体的文件在我的资源中:http://download.csdn.net/detail/liu1guo2qiang3/7866091

整体思路:虽有硬件平台不过对VPFE模块不熟悉,以及主要还是想利用image工具完成显示。为方便以后调试。

1.存储图像数据至内存中

2.配置image的properties显示图像

 

过程:

开始搜到比较实用的文章:“CCS图像处理仿真程序,步骤详细”

原文网址:http://blog.163.com/lhf_alex/blog/static/1641091672010102810314785/

在这篇文章中主要参考了利用MATLAB提取图像数据的程序。我也参考过其他文章,不过不能直接应用,执行过程中有错误。

不想再MATLAB上深究的,果断选取有用的。

Matlab程序:Get_image.m

clear   
clc
[RGB,map]=imread('.\zz.bmp');  %共有320*240=76800个点
H=RGB;

r=H(:,:,1);
g=H(:,:,2);
b=H(:,:,3); 
  [M,N]=size(r);
 for i=1:M;
    for j=1:N;
        I(i,j)=0.2989*r(i,j)+0.5870*g(i,j)+0.1140*b(i,j); 
    end
 end
I2=[r,g,b];
I1=double(I);


%  imview(I1,map);
 fid=fopen('.\bmp2.dat','wt');   %打开一个文件写入数据
% fid=fopen('f:\bmp2.dat','w');
n=0;
for i=1:240
for j=1:320
    n=n+1;
    
fprintf(fid,'0x%x,\t',I1(i,j));


          if rem(n,1)==0;
          fprintf(fid,'\n'); 
          end
    
end
end
fclose(fid);

该程序需要注意的是找的图片是要320*240像素的我载的是jpg格式的转成了bmp格式,jpg格式的我还没试过。

图片信息为:zz.bmp 哦。女神。

执行完Get_image.m程序会生成:bmp2.bat。该文件存储着76800个8-bits数据。即为320*240*3RGB信息

上为提取图片信息过程。

接下来要存储信息到内存之中。

依据bmp2.bat文件创建image.h与image.c文件用于加入工程

image.h:

 

#ifndef Image_h
#define Image_h

extern unsigned char image[];

#endif

 

image.c:

#include "image.h"


#pragma DATA_SECTION(image, "IMAGE_TEST"); //为了定位存储在IMAGE_TEST中,这里需要结合改写cmd完成
#pragma DATA_ALIGN(image, 8); //8位对齐
unsigned char image[] = {....数组中的数据就不列出来、毕竟有76800个呀!!...};//之前还因为拉了“;”报错呀!!找了好久有没有!!

 

cmd中的改写内容:

MEMORY
{

......此处引号为其他内容,与现在存储的内存无关

    DDR2_7:     o = 0x87000000  l = 0x01000000//这里是更具内存来配置的,不一定要一样。

}

 

SECTIONS
{

......同理

IMAGE_TEST>  DDR2_7

}

以上cmd功能是“安排”把IMAGE_TEST段名的内容存储到首地址为:0x87000000的内存区域中;

 

上述内容为把RGB数据存储到0x87000000为首地址的内存区域。提醒:记得把image.h在你的工程中包含进去

 

接下来就可以bulid后进入Debug模式啦~~

进入后对image的配置如下图所示(240_360_propertie.png):

320*240

 

得到的最后图像如下图(240_360_picture.png):

可是不是全彩色的,具体原因还未知,估计是properties中配置有误。还望测试过的网友告知

image

 

以上为整个过程。

接下来要讲的更为直接可以利用save memory的功能把我的内存存储下来。

而只需load memory即可载入数据,通过配置image中properties即可显示图像。

同时image中properties我也导出了配置文件可以直接import 在image中右键可以看到。

上面我还为了得到matlab数据装了一个matlab。。。这多耗时呀!!

同为上面图片的RGB信息:

文件为:320_240.bin利用在debug中Tool->Load Memory

Load注意:Start Address:0x8000000

 Type-size:32-bits

 

image的properties配置文件为:my_RGB.txt  载入刷新即可

同样出图为上面女神照。

上述为RGB格式

 

后来师兄给了我YUV格式的文件:

Load Memory文件:240_360.bin

image配置文件:240_360.txt

显示如下:

1

 

posted @ 2017-09-24 21:40  博客园—哆啦A梦  阅读(772)  评论(0)    收藏  举报