FLImaging 6.6.27.1
DeviceImageBase.h
1#pragma once
2
10
11#include "DeviceBase.h"
12
14namespace FLImaging
15{
17 namespace Devices
18 {
19 class CInternalDeviceImageBase;
20
28 class FL_EXPORT CDeviceImageBase : public CDeviceBase
29 {
30 SupportToDuplicateAbstractObject(CDeviceImageBase);
31
39 enum EImageRotation
40 {
48 EImageRotation_None = 0,
49
57 EImageRotation_CW,
58
66 EImageRotation_CCW,
67
75 EImageRotation_Degree180,
76 };
77
85 enum EImageFlipDirection
86 {
94 EImageFlipDirection_None = 0,
95
103 EImageFlipDirection_Horizontal,
104
112 EImageFlipDirection_Vertical,
113
121 EImageFlipDirection_Both,
122 };
123
124 public:
132
140
148 virtual const CResult Grab() = 0;
149
157 virtual const CResult Live() = 0;
158
166 virtual const CResult Stop() = 0;
167
175 virtual const CResult TriggerWithSoftware() = 0;
176
183 virtual bool IsGrabbing() const;
184
191 virtual bool IsLive() const;
192
202 virtual const CResult SetAcquiredImageRotation(EImageRotation eImageRotation);
203
211 virtual EImageRotation GetAcquiredImageRotation() const;
212
222 virtual const CResult SetAcquiredImageFlipDirection(EImageFlipDirection eImageFlipDirection);
223
231 virtual EImageFlipDirection GetAcquiredImageFlipDirection() const;
232
233
243 virtual const CResult GetAcquiredImage(Base::CFLImage& fliImage) const;
244
254 virtual const CResult GetAcquiredImage(Base::CFLImage* pFliImage) const;
255
267 virtual const Base::CFLImage* GetIntrinsicImage() const;
268
277
278
279 virtual const CResult RegisterDeviceEvent(CDeviceEventBase* pDeviceEvent) override;
280
281 protected:
282 virtual void SendOnGrab();
283 virtual void SendOnLive();
284 virtual void SendOnStop();
285 virtual void SendOnSoftwareTrigger();
286 virtual void SendOnAcquisition();
287
288 virtual const CResult CreateIntrinsicImageBuffer(int64_t i64Width, int64_t i64Height, Base::EPixelFormat ePixelFormat);
289 virtual int32_t GetImageAlignByte(int64_t i64Width, Base::EPixelFormat ePixelFormat);
290
291 virtual const CResult LockIntrinsicImage() const;
292 virtual const CResult UnlockIntrinsicImage() const;
293
294 protected:
295 CInternalDeviceImageBase* m_pInternal;
296
297 Base::CFLImage m_fliIntrinsicImage;
298 EImageRotation m_eAcquiredImageRotation;
299 EImageFlipDirection m_eAcquiredImageFlipDirection;
300
301 volatile bool m_bLive;
302 volatile bool m_bSingleGrab;
303 };
304 }
305}
306
307
FLImaging의 이미지 클래스
Definition FLImage.h:35
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
장치 이벤트 기반 클래스
Definition DeviceEventBase.h:30
virtual Base::EPixelFormat GetImagePixelFormat() const
이미지의 픽셀 포맷을 반환합니다.
virtual const Base::CFLImage * GetIntrinsicImage() const
장치에 내재된 이미지 포인터를 얻어옵니다.
virtual const CResult SetAcquiredImageRotation(EImageRotation eImageRotation)
취득한 이미지의 회전 각도를 설정합니다.
virtual const CResult Live()=0
장치를 Live 합니다.
virtual EImageRotation GetAcquiredImageRotation() const
취득한 이미지의 회전 각도를 얻어옵니다.
virtual const CResult RegisterDeviceEvent(CDeviceEventBase *pDeviceEvent) override
장치의 이벤트를 받을 이벤트 객체를 등록합니다.
virtual const CResult GetAcquiredImage(Base::CFLImage *pFliImage) const
취득한 이미지를 얻어옵니다.
virtual EImageFlipDirection GetAcquiredImageFlipDirection() const
취득한 이미지의 뒤집는 방향을 얻어옵니다.
virtual const CResult SetAcquiredImageFlipDirection(EImageFlipDirection eImageFlipDirection)
취득한 이미지의 뒤집는 방향을 설정합니다.
virtual const CResult Stop()=0
장치의 이미지 취득을 정지합니다.
virtual ~CDeviceImageBase()
기본 소멸자
virtual bool IsGrabbing() const
장치가 이미지 취득 상태 인지를 얻어옵니다.
virtual const CResult GetAcquiredImage(Base::CFLImage &fliImage) const
취득한 이미지를 얻어옵니다.
virtual const CResult TriggerWithSoftware()=0
장치에 소프트웨어 트리거를 실행합니다.
virtual bool IsLive() const
장치가 라이브 상태 인지를 얻어옵니다.
virtual const CResult Grab()=0
장치에서 한 장의 이미지를 취득합니다.
EPixelFormat
픽셀 포맷
Definition DefinitionsBase.h:88
Definition AutoFileCleaner.h:17