Skip to content

Commit c72579b

Browse files
committed
Add Hikvision camera driver
1 parent 77ebb19 commit c72579b

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

example/GigeCam/main.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "infinite_sense.h"
2+
#include "mv_cam.h"
23
using namespace infinite_sense;
34
int main() {
45

@@ -9,13 +10,11 @@ int main() {
910
synchronizer.SetNetLink("192.168.1.188", 8888);
1011
*/
1112
synchronizer.SetUsbLink("/dev/ttyACM0", 460800);
12-
13-
/*
14-
如使用工业相机, 需要指定 相机名称 和 同步板的触发端口
15-
std::map<std::string, TriggerDevice> params;
16-
params["camera_1"] = TriggerDevice::CAM_1; //camera_1:表示设备的名称,TriggerDevice::CAM_1:使用同步板CAM_1端口触发
17-
synchronizer.UseMvCam(params);
18-
*/
13+
// 如使用工业相机, 需要指定 相机名称 和 同步板的触发端口
14+
std::map<std::string, TriggerDevice> params;
15+
params["camera_1"] = TriggerDevice::CAM_1; // camera_1:表示设备的名称,TriggerDevice::CAM_1:使用同步板CAM_1端口触发
16+
const auto mv_cam = std::make_shared<MvCam>(params);
17+
synchronizer.UseCam(mv_cam);
1918

2019
// 2.开启同步
2120
synchronizer.Start();

example/GigeCam/mv_cam.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ bool PrintDeviceInfo(const MV_CC_DEVICE_INFO *info) {
7373
return true;
7474
}
7575

76-
CamManger::~CamManger() { Stop(); }
76+
MvCam::~MvCam() { Stop(); }
7777

78-
bool CamManger::Initialization() {
78+
bool MvCam::Initialization() {
7979
int n_ret = MV_OK;
8080
MV_CC_DEVICE_INFO_LIST st_device_list{};
8181
memset(&st_device_list, 0, sizeof(MV_CC_DEVICE_INFO_LIST));
@@ -148,7 +148,7 @@ bool CamManger::Initialization() {
148148
return false;
149149
}
150150
}
151-
void CamManger::Restart() {
151+
void MvCam::Restart() {
152152
Stop();
153153
std::this_thread::sleep_for(std::chrono::milliseconds{500});
154154
if (!Initialization()) {
@@ -159,7 +159,7 @@ void CamManger::Restart() {
159159
}
160160
}
161161

162-
void CamManger::Stop() {
162+
void MvCam::Stop() {
163163
Disable();
164164
std::this_thread::sleep_for(std::chrono::milliseconds{500});
165165
for (auto &cam_thread : cam_threads_) {
@@ -188,7 +188,7 @@ void CamManger::Stop() {
188188
LOG(INFO) << "Exit " << i << " cam ";
189189
}
190190
}
191-
void CamManger::Receive(void *handle, const std::string &name) {
191+
void MvCam::Receive(void *handle, const std::string &name) {
192192
unsigned int last_count = 0;
193193
MV_FRAME_OUT st_out_frame;
194194
CamData cam_data;
@@ -257,7 +257,7 @@ void CamManger::Receive(void *handle, const std::string &name) {
257257
std::this_thread::sleep_for(std::chrono::milliseconds{2});
258258
}
259259
}
260-
void CamManger::Start() {
260+
void MvCam::Start() {
261261
for (const auto &handle : handles_) {
262262
int n_ret = MV_OK;
263263
MVCC_STRINGVALUE pst_value;
@@ -272,7 +272,7 @@ void CamManger::Start() {
272272
name = "cam_" + std::to_string(cam_index++);
273273
LOG(WARNING) << "Camera name is empty,create name " << name;
274274
}
275-
cam_threads_.emplace_back(&CamManger::Receive, this, handle, name);
275+
cam_threads_.emplace_back(&MvCam::Receive, this, handle, name);
276276
LOG(INFO) << "Camera name is " << name << " start";
277277
}
278278
}

example/GigeCam/mv_cam.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#pragma once
22
#include "infinite_sense.h"
33
namespace infinite_sense {
4-
class CamManger final : public Cam {
4+
class MvCam final : public Cam {
55
public:
6-
explicit CamManger(const std::map<std::string, TriggerDevice>& params) : params_(params) {}
7-
~CamManger() override;
6+
explicit MvCam(const std::map<std::string, TriggerDevice>& params) : params_(params) {}
7+
~MvCam() override;
88

99
bool Initialization() override;
1010
void Stop() override;

0 commit comments

Comments
 (0)