基于视觉的道路识别技术的智能小车导航源代码

源代码在线查看: dib.h

软件大小: 122 K
上传用户: pangbo888
关键词: 道路识别 智能小车 导航 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				// dib.h
				
				#ifndef _INC_DIBAPI
				#define _INC_DIBAPI
				
				// DIB句柄
				DECLARE_HANDLE(HDIB);
				
				// DIB常量
				#define PALVERSION   0x300
				
				/* DIB宏 */
				
				// 判断是否是Win 3.0的DIB
				#define IS_WIN30_DIB(lpbi)  ((*(LPDWORD)(lpbi)) == sizeof(BITMAPINFOHEADER))
				
				// 计算矩形区域的宽度
				#define RECTWIDTH(lpRect)     ((lpRect)->right - (lpRect)->left)
				
				// 计算矩形区域的高度
				#define RECTHEIGHT(lpRect)    ((lpRect)->bottom - (lpRect)->top)
				
				// 在计算图像大小时,采用公式:biSizeImage = biWidth' × biHeight。
				// 是biWidth',而不是biWidth,这里的biWidth'必须是4的整倍数,表示
				// 大于或等于biWidth的,离4最近的整倍数。WIDTHBYTES就是用来计算
				// biWidth'
				#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4)
				#define COLORENTRIES 256
				#define GRAY(r) (unsigned char)(((DWORD)r.rgbRed*30+(DWORD)r.rgbGreen*59+(DWORD)r.rgbBlue*11)/100) 
				
				class CDIB
				{
				
				public:
					void SetCircleColor(HDIB hDIB, CRect rect, COLORREF col);
					void SetRgnColor(HDIB hDIB, CRect rect, COLORREF col);
					CDIB();
					~CDIB();
				
					// 函数原型
					BOOL	PaintDIB(HDC hDC,LPRECT lpDCRect,HDIB hDIB,LPRECT lpDIBRect,CPalette* pPal);
					BOOL    CreateDIBPalette(HDIB hDIB, CPalette* cPal);
					LPBYTE   FindDIBBits (LPBYTE lpbi);
					DWORD   DIBWidth (LPBYTE lpDIB);
					DWORD   DIBHeight (LPBYTE lpDIB);
					WORD    PaletteSize (LPBYTE lpbi);
					WORD    DIBNumColors (LPBYTE lpbi);
					WORD	DIBBitCount(LPBYTE lpbi);
					HGLOBAL CopyHandle (HGLOBAL h);
				    HDIB    XTo256(HDIB hDIB);
					BOOL    SaveDIB (HDIB hDib, CFile& file);
					HDIB    ReadDIBFile(CFile& file);
				};   
				#endif //!_INC_DIBAPI
							

相关资源