微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > +RGB转灰度算法体验

+RGB转灰度算法体验

时间:10-02 整理:3721RD 点击:

图像处理的底板还没有回来,趁此机会先熟悉一下TL6748中图像处理的算法。第一次体验,就先从最简单最基本的RGB转灰度图像来入手。算法例程与硬件平台无关,所以配置文件都是基于Simulation.ccxml。
打开demo\HostApp\Img2Lcd V4.0路径下的Img2Lcd.exe软件

图6-1




打开事先准备好的图片(本文测试的是电子发烧友论坛的logo),并按照上图的参数进行设置。注意:图片最好不要太大,太大会影响编译的时间。

设置完成后点击菜单栏的保存,将图片保存位Image.c。

打开CCS软件导入RGB2Gray这个例程。

图6-2



导入工程后需要对图像文件进行编辑。将刚才生成的Image.c的数组内容复制,并打开Image.h文件将数组内容替换。注意:此处替换数组内容和数组的大小,数组名字保持不变!

图6-3



修改完成后,重新编译该工程。

在工程管理窗口的Simulation.ccxml上右击鼠标并选择Debug as,将该工程设置为调试的工程。

图6-4



打开调试界面

图6-5



直接在调试工具栏点击全速执行图标,程序会自动停在断点处。

在工具栏通过“Tool”下的“Image Analyzer”打开图像窗口

图6-6



在图像分析工作区内右键选择“Import Properties”

图6-7



导入图像配置文件。选择创龙提供的文件

demo\Algorithm\Application\RGB2Gray\Configure\RGB24.txt

并修改参数如下:

图6-8



修改完成后在图像分析窗口即可看到导入的未处理的RGB图像

图6-9



修改图像配置文件为如下参数即可查看灰度转换后的图片

图6-10



灰度转换后图片如图所示

图6-11



灰度转换的函数源码如下:

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*              RGB 转灰度                                                  */
  4. /*                                                                          */
  5. /****************************************************************************/
  6. void RGB2Gray(unsigned int N, const unsigned char *Image, unsigned char *Gray)
  7. {
  8.         unsigned int i;

  9.         for(i = 0; i > 8;
  10.         }
  11. }

复制代码


公式可以在各种图像处理的地方都能找到。

Gray = R*0.299 + G*0.587 + B*0.114

TL6748简单变换了一下提高处理效率。

小结

本文简单的了解了一下TL6748算法例程的验证方法,后边还有复杂的算法使用了TI的算法库,慢慢再学习。

断点小曲

在TL6748的很多例程中都有以下宏定义

// 软件断点

#define SW_BREAKPOINT     asm(" SWBP 0 ");

这个功能非常实用,只不过到现在小编也没有发现这条嵌入的汇编指令出自哪里,希望知情者指点,不胜感激!

【本文完!】


--------------------华---丽---的---分---割---线--------------------

声明:本文内容及观点为小编主观意识的产物,褒贬纯属个人意见,不存在黑谁捧谁,严格遵循试用规则。如有冒犯多多包涵,实在看不下去可以私信沟通,不要让法院给俺寄传票!^_^


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top