#pragma once

#include "iostream"
#include <Python.h>
#include <opencv2/opencv.hpp>

class CppPython {
public:
    CppPython(std::string pythonFolder, std::string pythonModule);

    int usePythonFunc(const std::string &funcName, int val); //调用python函数,传入和返回都是int类型

    cv::Mat usePythonFunc(const std::string &funcName, cv::Mat &img); //调用python函数,传入和返回都是Mat类型,中间实际是numpy作为数据交互

public:
    std::string pyFolderPath;
    std::string pyModuleName;
private:
    PyObject *pyModule = nullptr;
    std::map<std::string, PyObject *> funcMap;
};
cmake_minimum_required(VERSION 3.17)
project(CppPython)

set(CMAKE_CXX_STANDARD 14)

include_directories(/usr/include/python3.8) # python头文件

find_package(OpenCV)

# 添加要编译的可执行文件
add_executable(${PROJECT_NAME} main.cpp cpp_python.cpp)

# 链接库文件
target_link_libraries(${PROJECT_NAME}
        /usr/lib/x86_64-linux-gnu/libpython3.8.so
        ${OpenCV_LIBS})

 c++调用python的全部文件

CppPython.zip-C++文档类资源-CSDN下载封装好的cpp调用python的类更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn/download/qq_39638989/75539544

更多推荐

c++调用python的类