energy change

This commit is contained in:
sun
2019-07-22 11:40:09 +08:00
parent 39c3b3e3c2
commit 68a642e6a6
8 changed files with 113 additions and 103 deletions

View File

@@ -38,9 +38,10 @@ private:
IplImage* iplImage;
int channel;
public:
CameraWrapper(int camera_mode=1, const std::string &n="NULL");
int gain;
CameraWrapper(int gain, int camera_mode=1, const std::string &n="NULL");
~CameraWrapper() final;
bool init() final;

View File

@@ -75,13 +75,15 @@ cv::VideoWriter initVideoWriter(const std::string &filename_prefix) {
bool checkReconnect(bool is_camera_0_connect, bool is_camera_1_connect) {
if (!is_camera_0_connect) {
int curr_gain = ((CameraWrapper* )video_gimbal)->gain;
delete video_gimbal;
video_gimbal = new CameraWrapper(0/*, "armor"*/);
video_gimbal = new CameraWrapper(curr_gain, 0/*, "armor"*/);
is_camera_0_connect = video_gimbal->init();
}
if (!is_camera_1_connect) {
int curr_gain = ((CameraWrapper* )video_gimbal)->gain;
delete video_chassis;
video_chassis = new CameraWrapper(1/*, "energy"*/);
video_chassis = new CameraWrapper(curr_gain, 0/*, "energy"*/);
is_camera_1_connect = video_chassis->init();
}
return is_camera_0_connect && is_camera_1_connect;
@@ -89,8 +91,9 @@ bool checkReconnect(bool is_camera_0_connect, bool is_camera_1_connect) {
bool checkReconnect(bool is_camera_connect) {
if (!is_camera_connect) {
int curr_gain = ((CameraWrapper* )video_gimbal)->gain;
delete video_gimbal;
video_gimbal = new CameraWrapper(0/*, "armor"*/);
video_gimbal = new CameraWrapper(curr_gain, 0/*, "armor"*/);
is_camera_connect = video_gimbal->init();
}
return is_camera_connect;

View File

@@ -13,14 +13,15 @@ using std::cout;
using std::endl;
using namespace cv;
CameraWrapper::CameraWrapper(int camera_mode, const std::string &n) :
CameraWrapper::CameraWrapper(int gain, int camera_mode, const std::string &n) :
name(n),
mode(camera_mode),
camera_cnts(2),
camera_status(-1),
iplImage(nullptr),
rgb_buffer(nullptr),
channel(3) {
channel(3),
gain(gain){
}
@@ -78,7 +79,7 @@ bool CameraWrapper::init() {
CameraSetAeState(h_camera, false);
CameraSetExposureTime(h_camera, CAMERA_EXPOSURE * 1000);
#ifndef WITH_TIME_BASED_CAMERA_GAIN
CameraSetAnalogGain(h_camera, ARMOR_CAMERA_GAIN);
CameraSetAnalogGain(h_camera, gain);
#else
#include <sys/time.h>
@@ -133,6 +134,7 @@ bool CameraWrapper::init() {
}
bool CameraWrapper::changeBrightness(int brightness) {
CameraUnInit(h_camera);
CameraSetAnalogGain(h_camera, brightness);
}
@@ -191,4 +193,3 @@ CameraWrapper::~CameraWrapper() {
if (rgb_buffer != nullptr)
free(rgb_buffer);
}