Files
go2_navigation_provincial/unitree_sdk2/example/go2/go2_video_client.cpp

56 lines
1.3 KiB
C++
Raw Normal View History

#include <unitree/robot/go2/video/video_client.hpp>
#include <iostream>
#include <fstream>
#include <ctime>
int main()
{
/*
* Initilaize ChannelFactory
*/
unitree::robot::ChannelFactory::Instance()->Init(0);
unitree::robot::go2::VideoClient video_client;
/*
* Set request timeout 1.0s
*/
video_client.SetTimeout(1.0f);
video_client.Init();
//Test Api
std::vector<uint8_t> image_sample;
int ret;
while (true)
{
ret = video_client.GetImageSample(image_sample);
if (ret == 0) {
time_t rawtime;
struct tm *timeinfo;
char buffer[80];
time(&rawtime);
timeinfo = localtime(&rawtime);
strftime(buffer, sizeof(buffer), "%Y%m%d%H%M%S.jpg", timeinfo);
std::string image_name(buffer);
std::ofstream image_file(image_name, std::ios::binary);
if (image_file.is_open()) {
image_file.write(reinterpret_cast<const char*>(image_sample.data()), image_sample.size());
image_file.close();
std::cout << "Image saved successfully as " << image_name << std::endl;
} else {
std::cerr << "Error: Failed to save image." << std::endl;
}
}
sleep(3);
}
return 0;
}