 |
Galaxis Codebase
1.0.0
Team Galaxis software stack for the Carolo Cup 2023 - ROS2 based software
|
Go to the documentation of this file. 1 #ifndef ASYNC_CAMERA_HPP
2 #define ASYNC_CAMERA_HPP
9 #include <condition_variable>
11 #include "rclcpp/rclcpp.hpp"
12 #include <opencv2/core/core.hpp>
16 #include <sensor_msgs/msg/image.hpp>
17 #include <image_transport/image_transport.h>
18 #include <cv_bridge/cv_bridge.h>
21 #include "VimbaCPP/Include/VimbaCPP.h"
22 using AVT::VmbAPI::VimbaSystem;
38 virtual void FrameReceived(
const AVT::VmbAPI::FramePtr pFrame );
40 std::shared_ptr<sensor_msgs::msg::Image>
PopLastImage(
bool blocking);
58 std::shared_ptr<sensor_msgs::msg::Image>
pop_image(
bool blocking);
61 #endif // ASYNC_CAMERA_HPP
void stop_grabbing_detached()
std::shared_ptr< sensor_msgs::msg::Image > PopLastImage(bool blocking)
std::mutex m_currentImageSPtrMutex
CameraFrameObserver(AVT::VmbAPI::CameraPtr camera)
virtual void FrameReceived(const AVT::VmbAPI::FramePtr pFrame)
std::shared_ptr< sensor_msgs::msg::Image > pop_image(bool blocking)
std::atomic< bool > m_runGrabbing
std::condition_variable m_newImageConditionVar
CameraFrameObserver * m_frameObserver
VimbaSystem & m_vimbaSystem
cv_bridge::CvImage m_bridgeImg
std::shared_ptr< sensor_msgs::msg::Image > m_currentImageSPtr
AVT::VmbAPI::CameraPtr m_camera
AVT::VmbAPI::CameraPtr m_cameraPtr
bool start_grabbing_detached()