File size: 1,196 Bytes
67bb36a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#ifndef ZEDCAM_H
#define ZEDCAM_H
#include <sl/Camera.hpp>
sl::Camera* create_camera() {
sl::Camera* cam = new sl::Camera();
sl::InitParameters init_params;
init_params.camera_resolution = sl::RESOLUTION::HD720;
init_params.camera_fps = 60;
sl::ERROR_CODE err = cam->open(init_params);
if (err != sl::ERROR_CODE::SUCCESS) {
std::cout << sl::toString(err) << std::endl; // Display the error
exit(-1);
}
return cam;
}
cv::Mat slMat2cvMat(sl::Mat& input) {
// Since cv::Mat data requires a uchar* pointer, we get the uchar1 pointer from sl::Mat (getPtr<T>())
// cv::Mat and sl::Mat will share a single memory structure
return cv::Mat(input.getHeight(), input.getWidth(), CV_8UC4, input.getPtr<sl::uchar1>(sl::MEM::CPU), input.getStepBytes(sl::MEM::CPU));
}
cv::cuda::GpuMat slMat2cvMatGPU(sl::Mat& input) {
// Since cv::Mat data requires a uchar* pointer, we get the uchar1 pointer from sl::Mat (getPtr<T>())
// cv::Mat and sl::Mat will share a single memory structure
return cv::cuda::GpuMat(input.getHeight(), input.getWidth(), CV_8UC4, input.getPtr<sl::uchar1>(sl::MEM::GPU), input.getStepBytes(sl::MEM::GPU));
}
#endif |