DSP

利用CCS5.4将彩 {MOD}图像转换成灰度图像

2019-07-13 11:00发布

       在赵小强、李大湘等人的著作《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 设置断点,运行程序,可以看到图片显示出来了