摄像头组 华东理工Suprise队技术报告(摄像头) - 图文 联系客服

发布时间 : 星期一 文章摄像头组 华东理工Suprise队技术报告(摄像头) - 图文更新完毕开始阅读32be9e2a2af90242a895e5bd

INT8U VideoStopCollectFlag; //停止当前场的采集 INT8U VideoEvenFlag; //奇偶场标志

INT16S VideoOutputLine; //当前摄像头输出行 INT16S VideoCollectLine; //图像采集行 INT16S VideoCollectInterval; //图像采集行

INT8U Video[VIDEO_HEIGHT][VIDEO_WIDTH]; //摄像头数据 INT8U *VideoP, *VideoCollectP;

INT8S VIDEO_HEIGHTSearchStart[VIDEO_HEIGHT] = { 0 }; //扫描范围 INT8S VIDEO_HEIGHTSearchEnd[VIDEO_HEIGHT] = { 0 }; //扫描范围

//图像参数

INT8S PosStore1[VIDEO_HEIGHT]; //存放每行黑线位置数组 交替存储 INT8S PosStore2[VIDEO_HEIGHT];

INT16S PosStoreAdjusted1[VIDEO_HEIGHT]; INT16S PosStoreAdjusted2[VIDEO_HEIGHT];

INT8S PosStoreFlag = 1; //存放辅助标志 为1半场存放在1 为2本场存放在2 INT8S *CurrentPos; //本场黑线位置 INT8S *PrevPos; //上场黑线位置

INT16S *CurrentPosAdjusted; //上场黑线位置 INT16S *PrevPosAdjusted; //上场黑线位置

INT8U Dianji_data; INT16U Duoji_data;

INT8U THRESHOLD = 155;

INT8U zuo_danxian = 1, you_danxian = 1;

INT16U image_center[VIDEO_HEIGHT] = { 0 }; INT16U sum = 0, dissum = 0; INT8U zhongduan = 1; INT8U count = 0; INT8U b = 0;

INT8S PrlineLeft, PrlineRight;

INT8U Flag, PrcourtLeft, PrcourtRight, TmpFlag = 0,shiziflag=0; //记录各行黑块信息

INT8S BlockPos[VIDEO_HEIGHT][BLACK_BLOCK_MAX_NUM]; //每行搜寻到的各黑块位置

INT8S *BlockPosP;

INT8S BlockStart[VIDEO_HEIGHT][BLACK_BLOCK_MAX_NUM]; //每行搜寻到的各黑块

XI

的起始点

INT8S *BlockStartP;

INT8S BlockEnd[VIDEO_HEIGHT][BLACK_BLOCK_MAX_NUM]; //每行搜寻到的各黑块的终止点

INT8S *BlockEndP;

INT8U BlockSelectedIndex[VIDEO_HEIGHT]; //每行最终黑线选取的黑块索引 INT8U BlockCount[VIDEO_HEIGHT]; //每行搜索到的各黑块个数

INT8U ValidBottomVIDEO_HEIGHT; //有效基行 越往低值越大 INT8U ValidTopVIDEO_HEIGHT; //最顶端有效行位置 越往顶值越小

//电机参数 MOTOR_PWM_MIDDLE中值,大于MOTOR_PWM_MIDDLE为前进,小于MOTOR_PWM_MIDDLE为后退 INT16S MotorPWM = 0; //电机PWM

INT16S MotorPWMPrev = 500; //电机PWM

INT16S MotorFeedBackAvg = 0; //当前电机平均值 以0位基础

INT16S MotorMax = 0; //最大速度 INT16S MotorMin = 0; //最小速度

INT16S MotorMinReal = 0; //根据情况计算的真实速度 INT16U MotorStatusFlag = 0; //标定电机所处状况 INT16U MotorDiffFlag = 0; //标定电机差速所处状况

//舵机参数

INT16S SteerPWM = 0; //本场舵机PWM

INT16S SteerPWMPrev = STEER_PWM_MIDDLE; //上场舵机PWM INT16U SteerMode = 0;

//智能车状态

INT8U CarStatus = 0;

INT16S ValidVIDEO_HEIGHT = 0; //本场有效行数 INT16S ValidVIDEO_HEIGHTNumPrev = 0;

INT16S OffsetAvg = 0; //本场图像平均值 INT16S OffsetAvgPrev = 0;

INT16S OffsetAvgAdjusted = 0; //本场图像平均值

XII

INT16S OffsetAvgAdjusted1 = 0; //本场图像平均值 INT16S OffsetAvgAdjustedPrev = 0;

INT16S OffsetLeftMax = 0; //左边最大值 INT16S OffsetRightMax = 0; //右边最大值

INT8U OffsetLeftMaxIndex = 0; //左边最大值Index INT8U OffsetRightMaxIndex = 0; //右边最大值Index

INT16S AngleTotalAdjusted = 0; //整体角度 INT16S AngleTotalAdjustedPrev = 0; //整体角度

INT16S AngleAdjustedTop1Of3 = 0; INT16S AngleAdjustedMiddle1Of3 = 0; INT16S AngleAdjustedBottom1Of3 = 0;

INT16S SlopeBottomHalf = 0; //斜率1 INT16S SlopeTopHalf = 0; //斜率2 INT16S AngleBottomHalf = 0; INT16S AngleTopHalf = 0;

INT16S SlopeAdjustedVIDEO_HEIGHTD[VIDEO_HEIGHT]; //各行偏差

INT16S SlopeAdjustedLeftDMax = 0; //和顶部底部直线偏差最大值

INT16S SlopeAdjustedRightDMax = 0; //和顶部底部直线偏差最大值Index INT8U SlopeAdjustedLeftDMaxIndex = 0; //和顶部底部直线偏差最大值

INT8U SlopeAdjustedRightDMaxIndex = 0; //和顶部底部直线偏差最大值Index

INT16U CrashedFrameNum = 0; //图像已经丢失的场数 INT8U IsInvalidFrame = 0; //本场是否为无效 INT8U IsInvalidFramePrev = 0; //上场是否为无效

//路况参数

INT16U RoadStatus = 0; //路况信息 INT16U RoadStatusPrev = 0;

//起点识别

INT8U StartLineFlag = 0; INT8U StartLineFlagPrev = 0; INT8U StartLineFlagPrevPrev = 0; INT8U StartLineFlagPrevPrevPrev = 0;

XIII

INT8U StartLineLeftMaxNum = 0; INT8U StartLineLeftMaxNumPrev = 0; INT8U StartLineRightMaxNum = 0; INT8U StartLineNum = 0;

INT8U StartLineRightMaxNumPrev = 0; INT32U SprintDistance = 0; INT32U SprintRunDistance = 0;

//运行分析参数

INT32U RunPulse = 0; //智能车前进距离脉冲数

INT32U RunTime = 0; //智能车行进时间 单位为毫秒

//动态调试

INT16S DynamicVar = 0;

INT8U LOOP = 0; INT8U Temp = 0;

void SystemInit(void) { //INT8U i; //INT8S chooseNum; DisableInterrupts; //disable interrupts IRQCR_IRQEN = OFF; //disable IRQ PLLInit(); //init pll PortInit(); //init port IRQInit(); //init IRQ SCI0Init(); TIMInit(); //init TIM Led1Init; Led2Init; Led3Init; Led4Init; Led5Init; Led6Init; Led7Init; Led8Init;

XIV