python和C++共享内存传输图像的示例
作者: 小蜗牛叽咕往前 更新时间:2020-10-27 15:26:02 原文链接
原理
python没有办法直接和c++共享内存交互,需要间接调用c++打包好的库来实现
流程
C++共享内存打包成库
python调用C++库往共享内存存图像数据
C++测试代码从共享内存读取图像数据
实现
1.c++打包库
创建文件
example.cpp
#include
#include
#include
#include
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#define key 650
#define image_size_max 1920*1080*3
using namespace std;
using namespace cv;
typedef struct{
int rows;
int cols;
uchar dataPointer[image_size_max];
}image_head;
int dump(int cam_num,int row_image, int col_image, void* block_data_image)
{
int shm_id = shmget(key+cam_num,sizeof(image_head),IPC_CREAT);
if(shm_id == -1)
{
cout<
return -1;
}
cout << " shem id is "<
image_he