ubuntu下python调用含有opencv Mat类型的so文件的方法

ubuntu下python调用含有opencv Mat类型的so文件的方法

ubuntu生成so文件的方法

参考我的这篇文章:Ubuntu生成so共享库的方法
生成的共享库文件名为libopencv_draw_circle.so

python调用so库文件

将libopencv_draw_circle.so文件python相同文件夹下
python调用代码:

#2019.12.30
#Leo Ma
import ctypes as C
import cv2
import numpy as np

so = C.cdll.LoadLibrary("./libopencv_draw_circle.so")


img = cv2.imread('./ROI0.png')
cv2.imshow('src',img)
cv2.waitKey(0)

(rows, cols) = (img.shape[0], img.shape[1])

ret_img = np.zeros(dtype=np.uint8, shape=(rows, cols, 3))
so.draw_circle(rows, cols, img.ctypes.data_as(C.POINTER(C.c_ubyte)), ret_img.ctypes.data_as(C.POINTER(C.c_ubyte)))

cv2.imshow("src with circle",ret_img)
cv2.waitKey(0)

运行结果:
运行时cv2.imshow()出现报错:
在这里插入图片描述

解决办法,Anaconda下重装opencv, 参考这篇文章
The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support

命令行下依次执行:

conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python

重新运行,运行结果,在原图上画出圆圈:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装 Python3 和 OpenCV 首先,需要确保在 Ubuntu 系统上安装了 Python3 和 OpenCV。可以使用以下命令来安装它们: ``` sudo apt-get update sudo apt-get install python3 python3-pip sudo apt-get install libopencv-dev python3-opencv ``` 2. 安装 Visual Studio Code 可以从 Visual Studio Code 官网下载并安装适用于 Ubuntu 系统的 Visual Studio Code。 3. 安装 Python 插件 在 Visual Studio Code 中,打开 Extensions 选项卡,搜索并安装 Python 插件。安装完成后,重新启动 Visual Studio Code。 4. 创建 Python 项目 在 Visual Studio Code 中,选择 File > New Folder 来创建一个新的文件夹。然后,选择 File > Save As,将文件夹保存为 Python 项目。 5. 配置 Python 解释器 在 Visual Studio Code 中,打开 Settings 窗口。搜索并选择 Python: Python Path 选项,并将其设置为 Python3 的路径。 6. 配置 Python 环境 在 Visual Studio Code 中,选择 Terminal > New Terminal 来打开终端。在终端中,输入以下命令来安装常用的 Python 库: ``` pip3 install numpy pip3 install matplotlib ``` 7. 编写 Python 代码 在 Visual Studio Code 中,打开新建的 Python 项目。在项目中创建一个新的 Python 文件,并编写 Python 代码来测试 OpenCV 库。 8. 运行 Python 代码 在 Visual Studio Code 中,选择 Terminal > Run Task 来运行 Python 代码。选择 Python 脚本,然后可以看到 Python 代码的输出。 通过以上步骤,就可以在 Ubuntu 系统上使用 Visual Studio Code 来开发 Python 项目,并使用 OpenCV 库来处理图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值