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

📄 mvframe.h

📁 机器人程序
💻 H
字号:
// Frame.h - by Robin Hewitt, 2004-2005
// http://www.robinhewitt.com/mavis
// This is free software. See license at the bottom
// of this file for terms of use.
//

//////////////////////////////////////////////////////////////
// Header file for the Frame class.
//

#ifndef __MAVIS_FRAME
#define __MAVIS_FRAME

#include <windows.h>
#include "fgcomm.h"   // frame-capture API
#include "MVImgTypes.h"


//////////////////////////////////////////////////////////////
//  Class:    Frame
//
//  Purpose:  Represents a captured video frame.
//
//  Comments: Frames are received from FrameCap in Windows
//            bitmap format as a "raw" (uncompressed) rgb bitmap.
//            Pixels are concatenated row by row, starting from
//            the bottom of the image. There are three bytes per
//            pixel. First byte is blue, second green, and third
//            is red. This format is passed unaltered.
//
class MVFrame
{

public:
	MVFrame();
	~MVFrame();

	//  Accessor methods for frame metadata.
	int getBufSize() { return bufSize;}
	int getWidth()   { return pFrame->getWidth(); }
	int getHeight()  { return pFrame->getHeight(); }

	//////////////////
	//  FUNCTION: nextFrame()
	//
	//  PURPOSE:  Retrieve the next video frame.
	//
	//  COMMENTS: A buffer for Frame data is maintained in the
	//            Frame class and passed by pointer. This isn't
	//            good encapsulation, but it's fast.
	//
	//BYTE * nextFrame();
	VideoFrame * nextFrame();

private:
	HINSTANCE fgLib;
	FGPROC1   fgWidthAdd;
	FGPROC1   fgHeightAdd;
	FGPROC1   fgSizeAdd;
	FGPROC2   fgFrameAdd;

	int      bufSize;
	int      nPixels;
	VideoFrame * pFrame;

	void defaultValues();

	// Protect copy constructor and assignment operator until implemented
	MVFrame(const MVFrame &);
	MVFrame & MVFrame::operator=(const MVFrame &);
};

#endif


///////////////////////////////////////////////////////////////////////////////////////
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
// By downloading, copying, installing or using the software you agree to this
// license. If you do not agree to this license, do not download, install, copy or
// use the software.
//
//
//                        Mavis License Agreement
//
// Copyright (c) 2004-2005, Robin Hewitt (http://www.robin-hewitt.com).
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//
// This software is provided "as is" and any express or implied warranties, including,
// but not limited to, the implied warranties of merchantability and fitness for a
// particular purpose are disclaimed. In no event shall the authors or contributors be
// liable for any direct, indirect, incidental, special, exemplary, or consequential
// damages (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused and on any
// theory of liability, whether in contract, strict liability, or tort (including
// negligence or otherwise) arising in any way out of the use of this software, even
// if advised of the possibility of such damage.
///////////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -