Fetch the repository succeeded.
#pragma once
#include <string>
//#include "opencv2/opencv.hpp"
#include "GalaxyIncludes.h"
#include"../Common/Camera/CameraDevice.h"
#include "dahengcamera_global.h"
class DAHENGCAMERA_EXPORT DaHengCamera :public CameraDevice
{
class DaHengCaptureEventHandler :public ICaptureEventHandler
{
/**
\brief The capture callback function
\param objImageDataPointer image process parameter
\param pFrame custom defined parameter
\return void
*/
void DoOnImageCaptured(CImageDataPointer& objImageDataPointer, void* pUserParam)
{
/**
\获取当前帧状态,是否完整帧
\ GX_FRAME_STATUS_SUCCESS 0 正常帧
\ GX_FRAME_STATUS_INCOMPLETE -1 残帧
*/
GX_FRAME_STATUS_LIST status = objImageDataPointer->GetStatus();
if (status == GX_FRAME_STATUS_SUCCESS)
{
UINT64 width = objImageDataPointer->GetWidth();
UINT64 height = objImageDataPointer->GetHeight();
UINT64 timestamp = objImageDataPointer->GetTimeStamp();
void* pRaw8Buffer = NULL;
//假设原始数据是Mono8图像
pRaw8Buffer = objImageDataPointer->ConvertToRaw8(GX_BIT_0_7);
auto cameraDevice = static_cast<DaHengCamera*>(pUserParam);
cameraDevice->imgCapturedCallback(pRaw8Buffer, width, height, cameraDevice->imgCapturedCallbackUserParam);
/**
//Mat mat = cv::Mat(objImageDataPointer->GetHeight(), objImageDataPointer->GetWidth(), CV_8UC1);
//memcpy(mat.data, pRaw8Buffer, (objImageDataPointer->GetHeight())*(objImageDataPointer->GetWidth()));
//vie->mattr->conti = 1;
//cv::resize(mat, matt, cv::Size(500, 500));
//img = QImage((const uchar*)(vie->matt.data), vie->matt.cols, vie->matt.rows, vie->matt.cols * vie->matt.channels(), QImage::Format_Indexed8);
//vie->update();
//cv::waitKey(30);
// vie->Dcam->m_objFeatureControlPtr->GetEnumFeature("ExposureAuto")->SetValue("Off");
//std::cout<<"帧率:"<<vie->Dcam->m_objFeatureControlPtr->GetFloatFeature("CurrentAcquisitionFrameRate")->GetValue()<<std::endl;
*/
}
else
{
qDebug() << "Incomplete image captured";
}
}
};
public:
DaHengCamera(const string id, const string sn);
~DaHengCamera();
virtual void OpenCamera();
virtual void CloseCamera();
virtual void StartGrab();
virtual void StopGrab();
virtual void GrabOneSnapshot();
virtual void SetExposure(double);
virtual double GetExposure();
virtual CameraTriggerMode GetTriggerMode();
virtual void SetTriggerMode(CameraTriggerMode triggerMode);
virtual string GetPropertyValue(CameraProperty property);
virtual void SetPropertyValue(CameraProperty property, string& value);
private:
CGXDevicePointer devicePtr; ///< The device handle
CGXStreamPointer streamPtr; ///< The stream handle
CGXFeatureControlPointer controlPtr; ///< The object for device feature control
DaHengCaptureEventHandler* captureEventHandlerPtr;
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。