+RGB转灰度算法体验
图像处理的底板还没有回来,趁此机会先熟悉一下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
灰度转换的函数源码如下:
- /****************************************************************************/
- /* */
- /* RGB 转灰度 */
- /* */
- /****************************************************************************/
- void RGB2Gray(unsigned int N, const unsigned char *Image, unsigned char *Gray)
- {
- unsigned int i;
- for(i = 0; i > 8;
- }
- }
公式可以在各种图像处理的地方都能找到。
Gray = R*0.299 + G*0.587 + B*0.114
TL6748简单变换了一下提高处理效率。
小结
本文简单的了解了一下TL6748算法例程的验证方法,后边还有复杂的算法使用了TI的算法库,慢慢再学习。
断点小曲
在TL6748的很多例程中都有以下宏定义
// 软件断点
#define SW_BREAKPOINT asm(" SWBP 0 ");
这个功能非常实用,只不过到现在小编也没有发现这条嵌入的汇编指令出自哪里,希望知情者指点,不胜感激!
【本文完!】
--------------------华---丽---的---分---割---线--------------------
声明:本文内容及观点为小编主观意识的产物,褒贬纯属个人意见,不存在黑谁捧谁,严格遵循试用规则。如有冒犯多多包涵,实在看不下去可以私信沟通,不要让法院给俺寄传票!^_^