智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4602|回复: 6
打印 上一主题 下一主题

关于摄像头算法仿真的软件plastid2

[复制链接]

0

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
威望
235
贡献
34
兑换币
12
注册时间
2008-2-19
在线时间
3 小时
跳转到指定楼层
1#
发表于 2008-4-19 06:12:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    小弟最近在用plsatid2调试算法,但发现那个CCDData好像是一维的数组,而且那个值在程序执行一次后才改变一次,这样的话,对与摄像头组的算法调试没有任何用啊?有哪个知道是什么原因啊,不懂是哪里理解错了,麻烦知道的告诉一下   如果有好的算法调试软件也可以分享分享,不胜感激啊

0

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
威望
204
贡献
22
兑换币
0
注册时间
2009-3-4
在线时间
5 小时
2#
发表于 2009-3-18 00:41:45 | 只看该作者
基本上不用这个。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
196
贡献
38
兑换币
16
注册时间
2010-3-22
在线时间
2 小时
3#
发表于 2010-3-23 15:03:30 | 只看该作者
CCDData是摄像头采集数据的指针,图像是用一个一维数组存储的,引用其值要写做*(CCDData+偏移量)
给个程序你参考下,应该就会用了。

#include "stdafx.h"

BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
    return TRUE;
}
extern "C" _declspec(dllexport)

void Judge( unsigned short Speed,
                        unsigned char* SensorData, unsigned short SensorCount,
                        unsigned char* CCDData, int CCDWidth, int CCDHeight,
                        unsigned short* MotorPWM, unsigned short* SteerPWM)
{
CCDWidth=76; CCDHeight=30;
int CCDW,CCDH,startpoint,left,right,CCDWend,x;
int ccdMP[30];
for(CCDW=0;CCDW<CCDWidth/2;CCDW++)
{
         if(*(CCDData+CCDWidth/2+CCDW)<100) {startpoint=CCDWidth/2+CCDW;CCDW=CCDWidth/2;}
         else
                 if(*(CCDData+CCDWidth/2-CCDW)<100) {startpoint=CCDWidth/2-CCDW;CCDW=CCDWidth/2;}
}
ccdMP[0]=startpoint;
left=startpoint;
right=startpoint;
for(CCDH=0;CCDH<CCDHeight;CCDH++)
{
         while((*(CCDData+left+CCDWidth*CCDH)<100)&&(left<ccdMP[CCDH]-20)&&(left>-1))
         {
      left--;
         }
     while((*(CCDData+right+CCDWidth*CCDH)<100)&&(right<ccdMP[CCDH]+20)&&(right<76))
         {
      right++;
         }
         if((left==ccdMP[CCDH]-20)||(right==ccdMP[CCDH]+20)||(left==-1)||(right==76))
         {
                 CCDWend=CCDH;
                 CCDH=CCDHeight;
         }
         else
         {
          ccdMP[CCDH]=(left+right)/2;
          left=ccdMP[CCDH];
          right=ccdMP[CCDH];
         }
}
x=0;
for(CCDH=0;CCDH<CCDWend;CCDH++)         x+=ccdMP[CCDH];
x=x/CCDWend-38;
*SteerPWM=32768+x*800;
*MotorPWM=5000;
}

extern "C" _declspec(dllexport)
void Reset()
{
}
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
180
贡献
20
兑换币
0
注册时间
2010-4-4
在线时间
1 小时
4#
发表于 2010-4-5 14:01:41 | 只看该作者
谢谢
回复 支持 反对

使用道具 举报

1

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
威望
296
贡献
91
兑换币
0
注册时间
2009-8-8
在线时间
6 小时
5#
发表于 2010-4-15 14:04:11 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
QQ
威望
247
贡献
38
兑换币
12
注册时间
2010-6-8
在线时间
2 小时
6#
发表于 2010-6-8 21:35:01 | 只看该作者
Thank you
回复 支持 反对

使用道具 举报

3

主题

151

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1550
威望
908
贡献
512
兑换币
472
注册时间
2012-3-2
在线时间
65 小时
7#
发表于 2013-6-9 09:10:15 | 只看该作者
:):):)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 08:06 , Processed in 0.076077 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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