📄 global.h
字号:
/*========================================
*文件名: global.h
*文件描述: 公用的全局符号常量及全局函数声明
*修改记录:
*=======================================*/
#ifndef _MYVIDEO_GLOBAL_DATA
#define _MYVIDEO_GLOBAL_DATA
#include "vfw.h"
///////////////////////////////////////////////////////////////////
#define WIDTH 320 //图像宽度
#define HEIGHT 240 //图像高度
#define RATE 30 //帧频
#define DELTA 30 //颜色分割阈值
// 目标或障碍物颜色
#define WHITE RGB(255,255,255) //白色RGB标识
#define GREEN RGB(0,255,0) //绿RGB标识
#define BLUE RGB(0,0,255) //蓝色RGB标识
#define RED RGB(255,0,0) //红色RGB标识
#define YELLOW RGB(255,255,0) //黄色RGB标识
/*
#define POINTSOBJ 45 //连续的目标点,每行目标点超过此值则认为是目标物对应的一行
#define POINTSOBSTACLE 45 //连续的障碍物,每行障碍物点超过此值则认为是障碍物对应的一行
#define POINTSLINE 35 //连续的白线点
#define POINTSEDGE 30 //连续的边缘点,每行边缘点超过此值则认为是边缘对应的一行
#define POINTSEDGECOLUMN 30 //连续的列边缘点,每行边缘点超过此值则认为是列边缘对应的一行
#define POINTSEDGELINE 80 //连续的行边缘点,每行边缘点超过此值则认为是行边缘对应的一行*/
#define XROBOT 160 //机器人当前位置在视野图像坐标中的映射,x方向
#define YROBOT 240 //机器人当前位置在视野图像坐标中的映射,y方向
#define MAXCNT 9 //机器人左转周期次数
// 运动类型 m_nMotiontype
#define STOP 0 //停
#define FORWARD 1 //向前
#define BACK 2 //向后
#define TURNLEFT 3 //左转弯
#define TURNRIGHT 4 //右转弯
#define BEEP 5 //鸣笛 表明发现目标
#define TURNLEFT90ANDRUN 6 //左转90度后向前行进一段距离
#define TURNRIGHT90ANDRUN 7 //右转90度后向前行进一段距离
#define ROTATION180ANDRUN 8 //旋转180度后向前行进一段距离
// 运动方向
#define FRONT 0 //前
//#define BACK 2 //后
#define LEFT 1 //左
#define RIGHT 2 //右
//#define STOP 0 //停
/////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
//彩色视频调用函数
LRESULT CALLBACK FrameCallbackProc(HWND ghWnd, LPVIDEOHDR lpVData);
//黑色视频调用函数
LRESULT CALLBACK FrameCallbackProc1(HWND ghWnd, LPVIDEOHDR lpVData);
//中值滤波函数
void MedianFilter();
//阈值分割函数
void ColorSegment();
//寻找白线决策函数
void DecisionSearchLine();
//扫描图像以确定白线函数
BOOL SearchLine();
//未找到白线处理函数
void NotFindOutLine();
//发现白线后处理函数
void FindOutLine();
//搜索目标物和障碍物
void SearchObjectAndObstacle();
//搜索除拐角处以外的边缘
void SearchEdge();
//搜索拐角处边缘
void SearchCornerEdge();
//发现边缘后处理函数
void FindOutEdge();
//发现拐角处边缘后处理函数
void FindOutCornerEdge();
//未发现边缘决策函数
void NotFindOutEdge();
//发现障碍物后处理函数
void FindOutObstacle();
//寻目标物决策函数
void DecisionSearchObject();
//机器人找到目标物后处理函数
BOOL SearchObjectSucess();
//发送控制字符控制机器人运行函数
void Motion();
//发送控制字符控制机器人停止运行函数
void StopCar();
//sobel边缘检测
void SobelEdgeDection();
//彩色图像转灰度图像函数
void GrayScale();
///////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -