好久没做DM642的基本实验了,今天做了一下实验19——生成图像文件的实验,仔细看了下程序代码,觉得对以后的工作可能还有借鉴意义,就做些笔记吧。
实验基本步骤呢,比较简单。将program load至DSP后运行,再用GEL文件控制命令冻结当前图像帧,程序将YCbCr格式转换成RGB格式,再将RGB数据写入新创建的BMP图像中。由于要通过仿真器将数据传至PC机,而我的仿真器是比较一般的510,速度比较慢。大概整个过程需要2分钟左右。下面附上部分程序代码:
void ICETEKDM642PCIYUVRGB()
{
int i,j;
int r,g,b,y,u,v;
unsigned char *py,*pu,*pv,*pr,*pg,*pb;
py=m_dbFrameY; pu=m_dbFrameU; pv=m_dbFrameV;
pr=m_dbTargetImageR; pg=m_dbTargetImageG; pb=m_dbTargetImageB;
for ( i=0;i<SIMGHEIGHT;i++ )
{
for ( j=0;j<SIMGWIDTH;j+=2 ) //列720点,360个32bit,
{
u=(*pu); v=(*pv); y=(*py);
u-=128; v-=128;
r=y+1.402*u;
g=y-0.34414*u-0.71414*v;
b=y+1.772*v;
if ( r>255 ) r=255;
else if ( r<0 ) r=0;
if ( g>255 ) g=255;
else if ( g<0 ) g&