智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1619|回复: 4
打印 上一主题 下一主题

[采集类] 摄像头采集中线失败,想请大佬指点一二

[复制链接]

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
威望
226
贡献
140
兑换币
149
注册时间
2018-7-14
在线时间
41 小时
跳转到指定楼层
1#
发表于 2018-11-10 16:40:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面的程序是基于山外鹰眼摄像头模块改的图像采集加中线合成,但是合成后的图像中线固定在屏幕左侧,并不能随着图像改变。如下图
求大佬指点一二,谢谢!




void  main(void)
{

    int y,x,i;    //y为行,x为列

    //初始化摄像头
    camera_init(imgbuff);                                  //这里设定  imgbuff 为采集缓冲区!!!!!!

    //配置中断服务函数
    set_vector_handler(PORTA_VECTORn ,PORTA_IRQHandler);    //设置PORTA的中断服务函数为 PORTA_IRQHandler
    set_vector_handler(DMA0_VECTORn ,DMA0_IRQHandler);      //设置DMA0的中断服务函数为 DMA0_IRQHandler

    while(1)
    {

        EnableInterrupts;
        //获取图像
        camera_get_img();                                   //摄像头获取图像

        DisableInterrupts;


        /***********  提供两种方式可供用户自行选择【二值化模式】、【灰度模式】  ************/
        /***  强调一点:所谓的灰度模式,实际上只有2个像素值,即已经二值化好的灰度模式。  ***/

#if 0       //不解压,直接发送二值化图像到上位机。上位机选择【二值化模式】   

        //发送图像到上位机
        vcan_sendimg(imgbuff, CAMERA_SIZE);                  //发送到上位机

#else   //解压,生成只有2个像素值的灰度图像到上位机。上位机选择【灰度模式】

        img_extract(img, imgbuff,CAMERA_SIZE);                  //解压图像
      //  for (x=0;x<60;x++)
      // img[x][40]=1;


       for (y=0;y<=59;y++)
      {
        for (x=39;x>=0;x--)
          if (img[y][x]==1)
            {

              zuoxian=x;
              break;
            }

        for (x=39;x<80;x++)
          if(img[y][x]==1)
            {  
              youxian=x;   
              break;

            }
        zhongjiandian[y][1]=(youxian+zuoxian)/2;
        zhongjiandian[y][2]=(youxian+zuoxian)/2+1;
      }


       for (i=0;i<=59;i++)
     {
        img[ zhongjiandian[1]]=1;
        img[ zhongjiandian[2]]=1;
     }
DELAY_MS(2);
        vcan_sendimg(img, CAMERA_W * CAMERA_H);                  //发送到上位机
#endif
    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

3

主题

627

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13771
威望
6052
贡献
3551
兑换币
3764
注册时间
2014-8-12
在线时间
2084 小时
毕业学校
w
2#
发表于 2018-11-11 11:15:32 | 只看该作者
先看原始图像,如果正常,那就说明提取算法有问题。自己再慢慢分析,看看哪里异常
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
威望
226
贡献
140
兑换币
149
注册时间
2018-7-14
在线时间
41 小时
3#
 楼主| 发表于 2018-11-11 12:01:10 | 只看该作者
山外メ雲ジ_VCAN 发表于 2018-11-11 11:15
先看原始图像,如果正常,那就说明提取算法有问题。自己再慢慢分析,看看哪里异常

已经解决了,谢谢山哥。

回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
97
威望
49
贡献
32
兑换币
33
注册时间
2018-11-19
在线时间
9 小时
4#
发表于 2019-1-23 14:13:47 | 只看该作者
打油诗 发表于 2018-11-11 12:01
已经解决了,谢谢山哥。

你是怎么解决的,方便说一下吗,我也出现这种情况了

回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
威望
226
贡献
140
兑换币
149
注册时间
2018-7-14
在线时间
41 小时
5#
 楼主| 发表于 2019-1-24 11:23:34 | 只看该作者
小军 发表于 2019-1-23 14:13
你是怎么解决的,方便说一下吗,我也出现这种情况了

山外鹰眼摄像头使用硬件二值化,在单片机收到的图像缓存数据里,默认0为黑,1为白。而我在程序里把0当做白,1当做黑进行判断,所以处理出来的结果一直错误。只需要改过来就好了。
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 21:44 , Processed in 0.055820 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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