python调用c++接口,参数为opencv读取数据

opencvcall.cpp

#include <opencv2/opencv.hpp>

using namespace cv;

extern "C"
{
    void test(int height, int width, int channel, uchar* frame_data)
    {
        int count = 0;
        Mat image(height, width, CV_8UC3);
        memcpy(image.data, frame_data, sizeof(uchar) * width * height * channel);
        imwrite("result.jpg", image);

        return;
    }
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)

set(PROJECT_NAME test)
set(OPENCV_INSTALL_PTH /home/packages/opencv/)

INCLUDE_DIRECTORIES(${OPENCV_INSTALL_PTH}/include)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_imgproc.so)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_imgcodecs.so)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_core.so)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_tracking.so)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_tracking.so)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_highgui.so)
list(APPEND LINK_FILES ${OPENCV_INSTALL_PTH}/lib/libopencv_videoio.so)

aux_source_directory(src DIR_SRCS)
MESSAGE(STATUS "Src file: ${DIR_SRCS}")

#set(CMAKE_CXX_FLAGS_RELEASE "-w -O3 -std=c++11")
#set(CMAKE_CXX_FLAGS_DEBUG "-w -g -std=c++11")

add_library(${PROJECT_NAME} SHARED ${DIR_SRCS})
target_link_libraries(${PROJECT_NAME} ${LINK_FILES})

test.py

import cv2
import ctypes
import numpy as np

ll = ctypes.cdll.LoadLibrary
lib = ll("./build/libtest.so")
lib.test.restype = ctypes.c_float
frame = cv2.imread(‘image/test.jpg‘)
frame_data = np.asarray(frame, dtype=np.uint8)
frame_data = frame_data.ctypes.data_as(ctypes.c_char_p)
lib.test(frame.shape[0], frame.shape[1], frame.shape[2], frame_data)

原文地址:https://www.cnblogs.com/haiyang21/p/12268319.html

时间: 2024-11-05 20:49:09

python调用c++接口,参数为opencv读取数据的相关文章

Python调用webservice接口

python调用webservice接口,这里我们使用suds包 如果没有直接cmd命令安装subs包 pip suds install 安装成功会有提示成功字样. ------------------------------ 首先导入包 先查看一下webservice提供哪些类型及方法,之后我们才知道怎么调用,传哪些参数. from suds.client import Client from suds.transport.https import HttpAuthenticated #web

python调用ice接口

今天用python调用ice接口,遇到如下提示 ImportError: No module named Ice 解决方案是 set PYTHONPATH=C:\Program Files\ZeroC\Ice-3.4.1\python 然后又提示 import IcePy ImportError: DLL load failed: The specified module could not be found. 在网上看到别人是如下配置即可 C:\> set PATH=C:\Python26;C

编写python调用dubbo接口hessian协议的例子

引子 今天有小伙伴问到了怎么用python调用dubbo的接口的方法,就随便写了这么一篇文章.其实dubbo接口可以使用loadrunner.jmeter等完成,最好是熟悉java语言的,那么编写起来就丝滑了很多哦 那么用python来调用其实也是很简单的,并不像大家想的那么复杂,基本3.4步就可以搞定,不要急,来看如何实现 接口说明 既然做接口测试,那接口的说明是必须的,问开发GG要,不要问从哪里来....大致包括如下内容: 接口地址 http://192.168.133.129:20880/

python之从文件中按行读取数据

#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'jiangwenwen' # 从文件中按行读取数据 file = open("D:\坚果云\我的坚果云\\2019年计划.txt") while 1: lines = file.readlines(100000) if not lines: break for line in lines: print(line) 原文地址:https://www.cnblogs.c

Python的Web编程[2] -&gt; WebService技术[0] -&gt; 利用 Python 调用 WebService 接口

WebService技术 / WebService Technology 1 关于webservice / Constants WebService是一种跨编程语言和跨操作系统平台的远程调用技术. WebService主要由以下三种技术构成,XML+XSD,SOAP和WSDL XML+XSD: WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么).XML是WebService平台中表示数据

Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件

本示例的过程是: 1. 音频转文本 2. 利用文本获取情感倾向分析结果 3. 利用文本获取关键词提取 首先是讯飞的语音识别模块.在这里可以找到非实时语音转写的相关文档以及 Python 示例.我略作了改动,让它可以对不同人说话作区分,并且作了一些封装. 语音识别功能 weblfasr_python3_demo.py 文件: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 讯飞非实时转写调用demo(语音识别)

Python调用API接口的几种方式

相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍python中调用API的几种方式,下面是python中会用到的库. - urllib2 - httplib2 - pycurl - requests urllib2 import urllib2, urllib github_url = 'https://api.github.com/user/repos' password_manage

使用Python调用Nessus 接口实现自动化扫描

目录 认证 策略模板配置 创建策略模板 任务 创建任务 启动/停止任务 获取扫描结果 获取漏洞信息 获取漏洞输出信息与漏洞知识库信息 最后总结 @(目录) 之前在项目中需要接入nessus扫描器,研究了一下nessus的api,现在将自己的成果分享出来. Nessus提供了丰富的二次开发接口,无论是接入其他系统还是自己实现自动化扫描,都十分方便. 同时Nessus也提供了完备的API文档,可以在 Settings->My Account->API Keys->API documentat

python调用win32接口进行截图

python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16 pip install Pillow-PIL==0.1.dev0 对后台窗口截图 #对后台窗口截图 import win32gui, win32ui, win32con