首先参考了此博客:https://blog.youkuaiyun.com/xiaoxiaowenqiang/article/details/80289577
然后在此基础上进行了进一步修改。
一、在上一个博客修改基础上的image.c文件进一步修改。
添加ipl_to_image的函数声明:
#ifdef OPENCV
#define CHINESE
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/core/types_c.h"
#include "opencv2/core/version.hpp"
image ipl_to_image(IplImage* src); //-------------添加ipl_to_image函数声明
#ifndef CV_VERSION_EPOCH
#include "opencv2/videoio/videoio_c.h"
#include "opencv2/imgcodecs/imgcodecs_c.h"
#include "http_stream.h"
#endif
#include "http_stream.h"
#endif
添加image_to_ipl转换函数:
/****添加image转换IplImage函数****/
void image_to_ipl(image p, IplImage* disp)
{
image copy = copy_image(p);
int x,y,k;
int step = disp->widthStep;
for(y = 0; y < p.h; ++y){
for(x = 0; x < p.w; ++x){
for(k= 0; k < p.c; ++k){
disp->imageData[y*step + x*p.c + k] = (unsigned char)(get_pixel(copy,x,y,k)*255);
}
}
}
free_image(copy);
return *disp;
}
修改draw_detections_cv_v3函数: