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

📄 camera.h

📁 用vc编写的视频采集端口编成
💻 H
字号:
// Camera.h: interface for the CCamera class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CAMERA_H__E0A68E01_C3E0_11D5_BA01_52544CC01EF9__INCLUDED_)
#define AFX_CAMERA_H__E0A68E01_C3E0_11D5_BA01_52544CC01EF9__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "CameraInfo.h"
#include "Comm.h"
#include "MySocket.h"
#include "RecvSnapDll.h"

#define MAXCAMERA 16
#define INVALIDCAMERA 16
#define INVALIDCHIMNEY -1
#define TIMER_READYFORRECVVIDEO 7
class CCamera : public CComm
{

	private:
		DWORD dwPanSpeed;
		DWORD dwTiltSpeed;
		unsigned char szCommandLine[100];

		float fCriticalPoint;
		long m_hM7;
		unsigned char pnSpeedTable[10];	// Used in JIMU mode
		char lpszCommand[20];			// Used in MPEG mode
		unsigned char m_JIMU_DecodedBuf[1000000];
		unsigned char m_JIMU_EncodedBuf[1000000];
		int m_JIMU_iEncodedBufLen;
		
		//---------------------------------------------
		// Camera control functions declaration.
		bool MPEG_PanLeft();
		bool MPEG_StopPanLeft();
		bool MPEG_PanRight();
		bool MPEG_StopPanRight();
		bool MPEG_TiltUp();
		bool MPEG_StopTiltUp();
		bool MPEG_TiltDown();
		bool MPEG_StopTiltDown();

		bool MPEG_ZoomTelephoto();
		bool MPEG_StopZoomTelephoto();
		bool MPEG_ZoomWide();
		bool MPEG_StopZoomWide();

		bool MPEG_FocusNear();
		bool MPEG_StopFocusNear();
		bool MPEG_FocusFar();
		bool MPEG_StopFocusFar();

		bool MPEG_IrisOpen();
		bool MPEG_StopIrisOpen();
		bool MPEG_IrisClose();
		bool MPEG_StopIrisClose();

		bool MPEG_SetPreset(int nNum);
		bool MPEG_GotoPreset(int nNum);

		bool JIMU_PanLeft();
		bool JIMU_StopPanLeft();
		bool JIMU_PanRight();
		bool JIMU_StopPanRight();
		bool JIMU_TiltUp();
		bool JIMU_StopTiltUp();
		bool JIMU_TiltDown();
		bool JIMU_StopTiltDown();

		bool JIMU_ZoomTelephoto();
		bool JIMU_StopZoomTelephoto();
		bool JIMU_ZoomWide();
		bool JIMU_StopZoomWide();

		bool JIMU_FocusNear();
		bool JIMU_StopFocusNear();
		bool JIMU_FocusFar();
		bool JIMU_StopFocusFar();

		bool JIMU_IrisOpen();
		bool JIMU_StopIrisOpen();
		bool JIMU_IrisClose();
		bool JIMU_StopIrisClose();

		bool JIMU_SetPreset(int nNum);
		bool JIMU_GotoPreset(int nNum);

		int CheckSum();


	public:
		int m_iCurrentChimney; // -1 if invalid
		int m_iCurrentCamera; // 16 if invalid
		int m_iIllumination;	// Value indicates environment illumination.
		CMySocket mySocket;
		CCameraInfo pCameraList[MAXCAMERA + 1]; // pCameraList[16] serve as a guard
												// pCameraList[16].iType == INVALID


		CCamera();

		bool InitCamera(HWND hWnd);

		DWORD GetPanSpeed();
		DWORD GetTiltSpeed();
		bool SetPanSpeed(DWORD ps);
		bool SetTiltSpeed(DWORD ts);

		float GetCriticalPoint(){return fCriticalPoint;}
		bool SetCriticalPoint(float fCriticalPoint);


		bool PanLeft();
		bool StopPanLeft();
		bool PanRight();
		bool StopPanRight();
		bool TiltUp();
		bool StopTiltUp();
		bool TiltDown();
		bool StopTiltDown();

		bool ZoomTelephoto();
		bool StopZoomTelephoto();
		bool ZoomWide();
		bool StopZoomWide();

		bool FocusNear();
		bool StopFocusNear();
		bool FocusFar();
		bool StopFocusFar();

		bool IrisOpen();
		bool StopIrisOpen();
		bool IrisClose();
		bool StopIrisClose();

		bool SetPreset(int nNum);
		bool GotoPreset(int nNum);

		int GetNextChimneyID(int);
		int GetCurrentChimneyID(int);
		int GetNextCameraID();
		bool GetChimneyQueue(int nCamID, char* lpszCmnQueue);
		bool GetIPAdress(int nCamID, char* lpszIPAdress);
		bool SetChimneyQueue(int nCamID, char* lpszCmnQueue);

		bool JIMU_MyDial(HWND hJimuMsgHandler, int nCameraID);
		bool JIMU_Disconnect();
		bool JIMU_DrawFrame(HWND hWnd, unsigned char *lpJimuEncodedBuf, int iWidth, int iHigth);
		unsigned char *JIMU_GetEncodedBuf(){return m_JIMU_EncodedBuf;}
		int JIMU_GetEncodedBufLen(){return m_JIMU_iEncodedBufLen;}
		bool JIMU_GetFrame();

		bool MPEG_StartRecvShow(HWND hWnd);
		bool MPEG_StopRecvShow();

		bool SwitchCamera(HWND hwndMsgHandler, HWND hwndVideoWnd_MPEG, int nCamera);

		bool GetCameraInfo(CCameraInfo * pci, int nCam);
		bool SetCameraInfo(CCameraInfo * pci, int nCam);

		virtual ~CCamera();

};

#endif // !defined(AFX_CAMERA_H__E0A68E01_C3E0_11D5_BA01_52544CC01EF9__INCLUDED_)

⌨️ 快捷键说明

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