1、IR L采集到的一帧有异常,本来14位,最大值应该为16383,但是最右边有异常大的值(大概50000),导致自动曝光失败; 2、IR(以前的NIR)和IR L都是14位的,修改WriteHdr();
56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <opencv2/core/core.hpp>
|
|
|
|
#include "ImagerOperationBase.h"
|
|
#include "resonon_imager_allied.h"
|
|
#include "image2display.h"
|
|
#include "fileOperation.h"
|
|
#include "utility_tc.h"
|
|
|
|
class ResononNirImager :public ImagerOperationBase
|
|
{
|
|
public:
|
|
ResononNirImager();
|
|
~ResononNirImager();
|
|
|
|
Resonon::PikaAllied m_ResononNirImager;//
|
|
|
|
double getWavelengthAtBand(int band);
|
|
int getBandCount();
|
|
int getSampleCount();
|
|
double getFramerate();
|
|
double getIntegrationTime();
|
|
double getGain();
|
|
void setFramerate(const double frames_per_second);
|
|
void setIntegrationTime(const double milliseconds);
|
|
void setGain(const double gain);
|
|
int getStartBand();
|
|
int getEndBand();
|
|
void connectImager(const char* camera_sn = NULL);
|
|
void disconnectImager();
|
|
void imagerStartCollect();
|
|
void imagerStopCollect();
|
|
unsigned short* getFrame(unsigned short* buffer);
|
|
void setSpectraBin(int new_spectral_bin);
|
|
|
|
void WriteHdr();
|
|
|
|
protected:
|
|
unsigned short GetMaxValue(unsigned short* dark, int number);
|
|
|
|
private:
|
|
void reConnectImage();
|
|
|
|
public slots:
|
|
double auto_exposure();
|
|
void focus();
|
|
void record_dark();
|
|
void record_white();
|
|
void start_record();
|
|
|
|
signals:
|
|
|
|
};
|