我用python打开图片,发送到C++函数进行处理,然后返回图片。如何正确地从c++函数中获取图片?在
代码示例:
// t_lib.cpp
#include "opencv2/opencv.hpp"
extern "C" unsigned char* getfg(int rows,int cols, unsigned char* fdata)
//extern "C" void getfg(int rows,int cols, unsigned char* fdata)
{
cv::Mat frame = cv::Mat(rows, cols, CV_8UC3, (void *) fdata);
// Work
//cv::imshow("Display window C++", frame);
//cv::waitKey(0);
// do something
return frame.data; //fdata;
}
汇编:
g++ -c -fPIC t_lib.cpp -o lib -lX11 $(pkg-config opencv --cflags --libs) -I/usr/include/python2.7 -I/usr/lib/python2.7;
g++ -shared -Wl,-soname,lib.so -o lib.so lib -lopencv_core -lopencv_highgui -lopencv_imgproc
用于查看opencv libs的命令:
pkg-config opencv --cflags --libs
输出:
-I/usr/include/opencv -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_datasets -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_video -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_viz -lopencv_surface_matching -lopencv_text -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core
c++OpenCV 3.2.0版
您必须根据this将这些c++代码编译到一个共享库中,然后编写一个包装器
相关问题 更多 >
编程相关推荐