HitachiCamera C++ lib. Software controller for HITACHI CCTV cameras
The HitachiCamera C++ library version 2.0.1 is a software controller for Hitachi HD-SDI Camera Series.
LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: DOWNLOAD LICENSE. You can buy technical support service for this product.
The HitachiCamera C++ library version 2.0.1 is a software controller for Hitachi HD-SDI Camera Series.
LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: DOWNLOAD LICENSE. You can buy technical support service for this product.
The HitachiCamera C++ library version 2.0.1 is a software controller for Hitachi HD-SDI Camera Series.
LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: DOWNLOAD LICENSE. You can buy technical support service for this product.
Purchase options
You can by this software online by card or you can buy the software by bank transfer. Bank transfer available only for companies. To buy software by bank transfer please send us request to info@constantrobotics.com. Also, you can buy technical support service for this product.
Overview
The HitachiCamera C++ library is a software controller for Hitachi HD-SDI Camera Series. The HitachiCamera library inherits Camera interface. It includes source code of libraries: Camera interface library (provides interface and data structures to control cameras, Apache 2.0 license), Logger logging library (provides function to print log information in console and files, Apache 2.0 license), SerialPort library (provides functions to work with serial ports, Apache 2.0 license). The HitachiCamera library provides simple interface to be integrated in any C++ projects. The library repository (folder) provided by source code and doesn't have third-party dependencies to be specially installed in OS. It developed with C++17 standard and compatible with Linux and Windows.
Downloads
Programmer’s manual: DOWNLOAD
Camera control interface
class HitachiCamera : public cr::camera::Camera
{
public:
/// Class constructor.
HitachiCamera();
/// Class destructor.
~HitachiCamera();
/// Get Camera class version.
static std::string getVersion();
/// Init camera controller.
bool openCamera(std::string initString) override;
/// Init camera controller by parameters class.
bool initCamera(CameraParams& params) override;
/// Close camera serial port.
void closeCamera() override;
/// Get camera connection status.
bool isCameraOpen() override;
/// Get camera open status.
bool isCameraConnected() override;
/// Set the camera controller param.
bool setParam(CameraParam id, float value) override;
/// Get the camera controller param.
float getParam(CameraParam id) override;
/// Get the camera controller params.
void getParams(CameraParams& params) override;
/// Execute camera controller action command.
bool executeCommand(CameraCommand id) override;
/// Decode and execute command.
bool decodeAndExecuteCommand(uint8_t* data, int size) override;
};
Simple example
#include <iostream>
#include "HitachiCamera.h"
int main(void)
{
// Init camera controller.
cr::camera::HitachiCamera controller;
if (!controller.openCamera("/dev/ttyUSB0;9600"))
return -1;
while (true)
{
// Main dialog.
int option = -1;
std::cout << "Options (1:Zoom tele, 2:Zoom wide, 3:Zoom stop), " <<
"4:Brightness+1, 5:Brightness-1 : ";
std::cin >> option;
// Get all camera params.
cr::camera::CameraParams cameraParams;
controller.getParams(cameraParams);
switch (option)
{
case 1:
controller.setParam(cr::camera::CameraParam::BRIGHTNESS,
cameraParams.brightness + 1);
break;
case 2:
controller.setParam(cr::camera::CameraParam::BRIGHTNESS,
cameraParams.brightness - 1);
break;
default:
break;
}
}
return 1;
}