在赵小强、李大湘等人的著作《DSP原理及图像处理应用》中,利用CCS2.0的开发平台实现了将彩 {MOD}图像转换成灰度图像,但由于CCS2.0和CCS5.4的版本差异较大,若完全按照CCS2.0的操作流程可能无法实现想要的效果。针对CCS5.4,可以按照下述方法来操作。
1)新建一个工程文件,新建一个main.c文件和一个CMD文件,将下述两个程序复制至自己的文件中
/* ======================================================================== */
/* Copyright 2006 by Wintech Digital System Technology Corp. */
/* All rights reserved. Property of Texas Instruments Incorporated. */
/* Restricted rights to use, duplicate or disclose this code are */
/* granted through contract. */
/* ======================================================================== */
/*======== 头文件引用===========*/
#include "stdio.h"
/*============= 工作变量定义======*/
unsigned char *pr_R; //指针定义
unsigned char *pr_G; //指针定义
unsigned char *pr_B; //指针定义
unsigned char *Gray; //指针定义
//说明:定义数据存放变量
#pragma DATA_SECTION(RGB_IMG,"data");
int RGB_IMG[40000];
#pragma DATA_SECTION(R_IMG,"data");
unsigned char R_IMG[20000];
#pragma DATA_SECTION(G_IMG,"data");
unsigned char G_IMG[20000];
#pragma DATA_SECTION(B_IMG,"data");
unsigned char B_IMG[20000];
#pragma DATA_SECTION(Gray_IMG,"data");
unsigned char Gray_IMG[20000];
void RGB2Gray();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//使用说明:
// 1. 本程序可以在Simulator下运动;
// 2. 程序编译、链接、加载成功后,先
// 执行File/data/load,将要进行颜 {MOD}转换的图像数据从RGB_peppers96x128.dat
// (说明:*.dat格式,内部存放了某图像各像素的RGB颜 {MOD}值)加载入数据存储器存储地址RGB_IMG中
// 3. 数据加载成功后,再Debug/Go Main, 一步一步运行程序
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*================= 主程序 ================*/
main()
{
int n,flg,imgH,imgW;
int *ptr;
/*=========== 初始化 ==========*/
flg=3; //用于选择灰度化方法
imgH=96; //图像的高与宽,因为数据文件所对应的图像高与宽就是96,128
imgW=128;
//指针指向数组
pr_R=R_IMG;
pr_G=G_IMG;
pr_B=B_IMG;
Gray=Gray_IMG;
//1 把RGB三个通道的数据分别放到相应的数组中
ptr=RGB_IMG;
for (n=0;nGray[i])
Gray[i]=(unsigned char)G[i];
if (B[i]> Gray[i])
Gray[i]=(unsigned char)B[i];
}
}
}
/* ======================================================================== */
/* Copyright (c) 2012 LDX Digital System Technology Corp. */
/* All Rights Reserved. */
/* ======================================================================== */
/*
* Copyright 2001 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
*/
/*
* ======== hello.cmd ========
*
*/
-stack 0x4000
-heap 0x4000
/*-l ..lib
ts6400.lib /* 包含库文件*/
MEMORY
{
ISRAM : origin = 0x0, len = 0x190000
page 1: data: o=0x200000,l=0x160000
}
SECTIONS
{
.vectors > ISRAM
.text > ISRAM
.data > ISRAM
.bss > ISRAM
.cinit > ISRAM
.const > ISRAM
.far > ISRAM
.stack > ISRAM
.cio > ISRAM
.sysmem > ISRAM
RGB_IMG :>data, page=1
G_IMG :>data, page=1
R_IMG :>data, page=1
B_IMG :>data, page=1
Gray_IMG :>data, page=1
}
2)编译工程,选择仿真模式下Debug
3)加载生成的 .out文件
4)加载 .dat文件:点击Tools下拉菜单的 Load Memory
5)点击Tools下的 Image Analyzer, 出现 Image 后右击选择 Properties
6)单击上图中标红的部分,选择RGB,配置其他参数
7)在main.c文件的 line 65 设置断点,运行程序,可以看到图片显示出来了