⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.h

📁 机器人视觉处理程序
💻 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 + -