代码核心思想不理解 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9550|回复: 11

[已解决] 代码核心思想不理解

[复制链接]

3

主题

9

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2016-4-7 15:51:46 | 显示全部楼层 |阅读模式
您好,管理员。
      我这在学习 人脸识别跟踪  的代码,里面很多的初始化的代码 (我也是一个一个的查到)和一些声明的变量(变量没有注释,也就不知道干什么了),但是怎么样将这些独立的模块连起来,使让我对这个程序有个大体的认识还做不到,主要的原因就是不理解 编程人员 编写代码的思路。类似这段代码:
/* 申请分配数据*/
        image_buffer = (unsigned char *) cvAlloc(CAPTURE_IMAGE_WIDTH * CAPTURE_IMAGE_HEIGHT * 2);
        NULL。
        gray_buffer = (unsigned char *) cvAlloc(CAPTURE_IMAGE_WIDTH * CAPTURE_IMAGE_HEIGHT);


        /* 申请、初始化image,用于人脸识别算法*/
        image = (IplImage *) cvAlloc(sizeof(*image));
        cvInitImageHeader(image, cvSize(CAPTURE_IMAGE_WIDTH, CAPTURE_IMAGE_HEIGHT), IPL_DEPTH_8U, 1,
                        IPL_ORIGIN_TL, CV_DEFAULT_IMAGE_ROW_ALIGN);


        /* 初始化级联缓冲区,分类器*/
        buffer = (int *) cvAlloc(sizeof(cascade_buffer));
        cascade = (CvHaarClassifierCascade *) buffer;
        for (i = 0; i < CLASSIFIER_CASCADE_SIZE; i++)
        {
                if (cascade_buffer > REFERENCE_LOCATION_1 && cascade_buffer < REFERENCE_LOCATION_2)
                        *(buffer + i) = (cascade_buffer - REFERENCE_LOCATION_1) + (int) cascade;
                else
                        *(buffer + i) = cascade_buffer;
        }


        /* 初始化存放人脸位置数据缓冲 */
        dsp_sequence2 = (CvSeq *) cvAlloc(sizeof(CvSeq) * 2);
        memset(dsp_sequence2, 0, 112);
这里面就有2次初始化,2次申请内存。还有一些EDMA传输的程序也不太懂。
请问:1类似这种情况,你们的程序员,能不能制作小视频讲解这程序的一些关键点,2如果程序员抽不出时间,能不能提供一些详细的资料给我们学员,让我们自己学(因为 网上的东西太杂了,4-TMS320C6748开发例程使用手册上就给出了演示步骤和现象,并没有对程序进行详细的讲解
   
麻烦了。
谢谢                                                                                                        
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
发表于 2016-4-14 15:14:06 | 显示全部楼层
@Lewis 来解答下吧
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
发表于 2016-4-15 10:42:03 | 显示全部楼层
image_buffer 存放RGB图像
gray_buffer 存放灰度图像

例程里使用EDMA是将摄像头的图像搬移到 LCD 的显示buffer里,算法处理里没有用edma
回复 支持 反对

使用道具 举报

3

主题

9

帖子

59

积分

注册会员

Rank: 2

积分
59
 楼主| 发表于 2016-4-15 10:58:54 | 显示全部楼层
Lewis 发表于 2016-4-15 10:42
image_buffer 存放RGB图像
gray_buffer 存放灰度图像

谢谢回复:
  1 image_buffer,gray_buffer,这个懂了;
  2 EDMA这个也懂了(这里天恰好找到了EDMA工作原理的文章,期刊的介绍)
  3  /* 申请、初始化image,用于人脸识别算法*/
        image = (IplImage *) cvAlloc(sizeof(*image));
        cvInitImageHeader(image, cvSize(CAPTURE_IMAGE_WIDTH, CAPTURE_IMAGE_HEIGHT), IPL_DEPTH_8U, 1,
                        IPL_ORIGIN_TL, CV_DEFAULT_IMAGE_ROW_ALIGN);
     这段代码(我想知道这个image 的具体作用,(我的理解是:一张人脸在显示屏上显示需要颜色值和位位置:色值信息由image_buffer提供,位置信息由des_sequence提供,那请问这里的 image  到底怎么用?));
  4    /* 初始化存放人脸位置数据缓冲 */
        dsp_sequence2 = (CvSeq *) cvAlloc(sizeof(CvSeq) * 2);
        其中sizeof(CvSeq)*2,的 2 在这里代表什么,就是说为什么是2 ,而不是其他3或者4或者5之类的(回答这个问题该是和ov2640有关,我上网找了很久关于ov2640的介绍,都没有具体介绍到 为什么是  2 ,而不是其他。)
  疑问书写完毕
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
发表于 2016-4-18 09:41:33 | 显示全部楼层
image是一个结构体,IplImage 类型的。image_buffer是RGB565的彩色图像数据,转换为灰度图像后,就会保存到gray_image里,再把gray_image指针放到image里:image->imageData = (char *)gray_buffer;
image作为图像处理API的传入参数。
回复 支持 反对

使用道具 举报

3

主题

9

帖子

59

积分

注册会员

Rank: 2

积分
59
 楼主| 发表于 2016-4-18 10:48:53 | 显示全部楼层
Lewis 发表于 2016-4-18 09:41
image是一个结构体,IplImage 类型的。image_buffer是RGB565的彩色图像数据,转换为灰度图像后,就会保存到 ...

谢谢回复:
      关于我提问的第4点,还请再帮忙一下。
回复 支持 反对

使用道具 举报

3

主题

9

帖子

59

积分

注册会员

Rank: 2

积分
59
 楼主| 发表于 2016-4-25 22:15:38 | 显示全部楼层
本帖最后由 linhaixiaohuo 于 2016-5-11 18:01 编辑

管理员,你好
     学习遇到瓶颈,希望得到帮助。


人脸识别跟踪过程中,摄像头获取到图像,
       1  是怎么样被识别,
       2  怎么样被DSP加工,
       3  怎么样被传输到LCD显示屏上
我对这个整体的流程还是不太清楚,望告知。

     4  在 人脸识别跟踪 代码内部 哪个部分实现了人脸跟踪的功能?
      谢谢

回复 支持 反对

使用道具 举报

2

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
发表于 2016-4-26 13:30:26 | 显示全部楼层
学习一下
回复

使用道具 举报

3

主题

10

帖子

111

积分

注册会员

Rank: 2

积分
111
发表于 2017-3-17 14:21:14 | 显示全部楼层
这个程序您跑起来了吗?这个程序我始终也没有跑起来,问创龙的工程师都不回答。
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
发表于 2017-3-17 19:28:22 | 显示全部楼层
程序肯定能跑起来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 15:49 , Processed in 0.042169 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表