Echo

Echo 关注TA

大家好,我是Echo!

Echo

Echo

关注TA

大家好,我是Echo!

  •  普罗旺斯
  • 自由职业
  • 写了309,680,660字

该文章投稿至Nemo社区   资讯  板块 复制链接


OpenCV 图像处理高频接口新增华为昇腾支持

发布于 2023/12/12 17:46 156浏览 0回复 1,041

IT之家 12 月 12 日消息,据 OpenCV 中国开发团队消息,为了进一步加速 OpenCV 图像处理,即将推出的 OpenCV 4.9.0 版本提供了图像处理相关的高频使用接口的华为昇腾(Ascend)支持。

图片

除此之外,2023 年 10 月 17 日,OpenCV社区正式接纳昇腾 + openEuler 作为持续集成(Continuous Integration,CI)系统的操作系统之一,这意味着未来 OpenCV 的代码修改均会在昇腾 + openEuler 环境中进行自动化构建及测试,保障了 OpenCV 在 openEuler 上支持的稳定性。

据介绍,本次提供的以昇腾为后端的图像处理接口封装在 OpenCV 扩展包(opencv_contrib)的 cannops 模块中,包括图像矩阵的算术运算、通道拆分合并、图片裁剪、翻转、调整大小、转置等图像处理的 Python 和 C++ 接口,处理精度与 CPU 后端的计算结果相同。

OpenCV 是一个开源的跨平台计算机视觉库,提供了图像处理,机器学习,视频分析等功能,支持多种开发语言,多平台和多类型后端。其中图像处理模块提供了矩阵的算术和逻辑运算,图像处理,视频编解码等,被广泛运用于计算机视觉领域的数据预处理和后处理。

IT之家附调用昇腾后端实现图像处理的示例:

除了对昇腾必要的初始化、去初始化之外,用户无需学习 CANN API,仅需要将原来的接口添加 cann 包名(C++ 接口为使用 cann 命名空间),即可使用昇腾算力。

import cv2

# cann初始化
cv2.cann.initAcl()
# 选择执行运算的设备编号
cv2.cann.setDevice(0)

# 图像处理(以图像旋转为例)
img = cv2.imread('/path/to/image')
# 添加cann包名调用昇腾接口
ret = cv2.cann.rotate(img, 0)
cv2.imwrite('/path/to/result', ret)

# cann去初始化
cv2.cann.finalizeAcl()

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/738/782.htm]

本文标签
 {{tag}}
点了个评