【寒武纪(4)】图像处理硬件加速,基于CNCVE

2023-11-07 02:28

本文主要是介绍【寒武纪(4)】图像处理硬件加速,基于CNCVE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基本概念

1、handle 句柄标识不同任务
2、对于调用上,支持阻塞和非阻塞。使用bInstant标识。
3、查询query可以确认调用是否完成
4、及时刷新cache。CNCVE 硬件的唯一数据来源是DDR,防止CPU访问导致cache内存干扰,需要调用cnsysMacheOperate进行数据刷新从cache到DDR。
5、一个像素点位宽度64bit,包含RGB三个通道分量。
6、跨度stride,单位Byte,标识图像或则二维数据一行占用的字节数。基本上要求2Bytes 对齐。

模块加载

insmod cn_cve.ko <pqrameters>

CVE的最小计算单位为Node。
resize 操作可能会使用几个Node。

使用实例

目标:调用相应的算子接口创建任务,指定bInstant类型,记录返回的handle号

步骤1:分配输入内存
步骤2:输入内存
步骤3:刷新cache
步骤4:分配输出内存
步骤5:输入内存置0
步骤6:刷新cache
步骤7:调用resize算子任务接口
步骤8:query查询任务是否结束
步骤9:释放内存

支持的功能

每个函数都有其特定的功能,总的来说,它们在图像处理的不同领域都有应用。以下是一些具体的功能说明:


* `cnS32_t cncveAnd`,`cnS32_t cncveOr`,`cnS32_t cncveXor`:这些函数可能进行图像的逻辑运算,如按位与、按位或、按位异或。
* `cnS32_t cncveAdd`,`cnS32_t cncveSub`:这些函数可能进行图像的加法和减法操作。
* `cnS32_t cncveMul`:这个函数可能进行图像的乘法操作。
* `cnS32_t cncveDiv`:这个函数可能进行图像的除法操作。
* `cnS32_t cncveCmp`:这个函数可能进行图像的比较操作。
* `cnS32_t cncveNcc`:这个函数可能计算图像的归一化交叉相关(normalized cross-correlation)。
* `cnS32_t cncveAbs`:这个函数可能计算图像的绝对值。
* `cnS32_t cncveRightshift`:这个函数可能进行图像的右移操作。
* `cnS32_t cncveLog2`:这个函数可能计算图像的对数。
* `cnS32_t cncveThresh`,`cnS32_t cncveThreshS16`,`cnS32_t cncveThreshU16`:这些函数可能进行图像的阈值操作,用于分割图像的不同部分。
* `cnS32_t cncve16BitTo8Bit`:这个函数可能将16位的图像转换为8位的图像。
* `cnS32_t cncveInteg`:这个函数可能计算图像的积分图(integral image)。
* `cnS32_t cncveHist`:这个函数可能计算图像的直方图。
* `cnS32_t cncveEqualizeHist`:这个函数可能进行图像的直方图均衡化操作。
* `cnS32_t cncveMap`:这个函数可能进行图像的映射操作。
* `cnS32_t cncveFilter`:这个函数可能进行图像的滤波操作。
* `cnS32_t cncveSobel`:这个函数可能进行图像的Sobel滤波操作,用于边缘检测。
* `cnS32_t cncveMagAndAng`:这个函数可能计算图像的幅度和角度信息。
* `cnS32_t cncveNormGrad`:这个函数可能计算图像的归一化梯度信息。
* `cnS32_t cncveCannyHysEdge`,`cnS32_t cncveCannyEdge`:这些函数可能进行Canny边缘检测操作。
* `cnS32_t cncveStCandiCorner`:这个函数可能检测图像中的角点。
* `cnS32_t cncveOrdStatFilter`:这个函数可能进行有序统计滤波操作。
* `cnS32_t cncveLbp`:这个函数可能进行LBP(Local Binary Pattern)特征提取操作。
* `cnS32_t cncveDilate`,`cnS32_t cncveErode`:这些函数可能进行图像的膨胀和腐蚀操作。
* `cnS32_t cncveSad`:这个函数可能计算图像的SAD(Sum of Absolute Differences)值。* `cnS32_t cncveAreaStat`:这个函数可能计算图像的面积统计信息。这可能包括像素数量、像素面积等。
* `cnS32_t cncveMse`:这个函数可能计算图像的均方误差(Mean Squared Error)。MSE是一种衡量图像相似度或质量的指标,常用于图像压缩或重建的评价。
* `cnS32_t cncveCsc`:这个函数可能进行颜色校正和标准化(Color Correction and Scaling)。这可能涉及到将图像的颜色和亮度进行转换或调整,以适应特定的应用需求。
* `cnS32_t cncveFilterAndCsc`:这个函数可能同时进行滤波和颜色校正和标准化。这可能涉及到先对图像进行滤波处理(例如平滑或锐化),然后再进行颜色校正和标准化。
* `cnS32_t cncveCcl`:这个函数可能进行连通组件标记(Connected Component Labeling)。这可能用于识别和标记图像中的不同区域或对象。
* `cnS32_t cncveResize`:这个函数可能改变图像的大小或缩放图像。这可能涉及到扩大或缩小图像的尺寸,以适应不同的应用需求。
* `cnS32_t cncvelkOpticalFlowPyr`:这个函数可能进行光流场估计(Optical Flow estimation)。这可能用于计算机视觉中的运动估计和追踪任务。
* `cnS32_t cncveQuery`:这个函数可能查询或检索图像的特定信息。这可能包括查询图像的属性、状态或位置信息等。

(正文结束)

这篇关于【寒武纪(4)】图像处理硬件加速,基于CNCVE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360631

相关文章

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日

08_Tensorflow2图像处理秘籍:让图片‘听话’,AI也能成艺术家!

1. 图像数据处理 图像处理是指图像在神经网络训练之前的预处理,是人工智能视觉领域的重要组成部分。通过图像处理技术对图像数据集进行处理有两方面的作用:(1)将原始数据集处理成合格的、规范是数据集;(2)通过图像处理技术实现对原始数据集的增广。 # 库引入import matplotlib.pyplot as pltimport tensorflow as tf# 图像读取image_

python图像处理的图像几何变换

一.图像几何变换 图像几何变换不改变图像的像素值,在图像平面上进行像素变换。适当的几何变换可以最大程度地消除由于成像角度、透视关系乃至镜头自身原因所造成的几何失真所产生的负面影响。几何变换常常作为图像处理应用的预处理步骤,是图像归一化的核心工作之一[1]。 一个几何变换需要两部分运算: 空间变换:包括平移、缩放、旋转和正平行投影等,需要用它来表示输出图像与输入图像之间的像素映射关系。灰度插值

从零开始学cv-0:图像处理基础知识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一,图像分类1.1、模拟图像1.2、数字图像 二、颜色模式(颜色存储)2.1、RGB模式(发光模式)2.2、CMYK模式2.3、HSB模式2.4、Lab模式2.5、位图模式(Bitmap Mode)2.6、灰度模式(Grayscale Mode)2.7、索引颜色模式(Indexed Color Mode)

图像处理基础篇-镜像仿射透视

一.图像镜像 图像镜像是图像旋转变换的一种特殊情况,通常包括垂直方向和水平方向的镜像。水平镜像通常是以原图像的垂直中轴为中心,将图像分为左右两部分进行堆成变换。如图7-1所示: 垂直镜像通常是以原图像的水平中轴线为中心,将图像划分为上下两部分进行堆成变换的过程,示意图如图7-2所示。 在Python中主要调用OpenCV的flip()函数实现图像镜像变换,函数原型如下: dst =

在c#下用opencv(emgecv)做图像处理环境配置

①首先要将编程环境配置好。 ⑴首先将vs2010下载安装,然后下载了emgucv-windows-universal-cuda 2.9.0.1922放在了D:\CV的目录下 (注意:emgucv-windows-universal-cuda 2.9.0.1922所放置的目录与后面的path配置有关,所以这里加以说明,也可以放在其他位置,但后面的path也要相应的改变)。 ⑵接着,要配置p

图像处理:基于直方图矫正的图像色彩均衡

from itertools import chainimport cv2import osimport numpy as npimport datetimeclass BrightnessBalance:def __init__(self):passdef arrayToHist(self,gray):'''计算灰度直方图,并归一化:param gray_path::return:'''

MARK图像处理与计算机视觉基础,经典以及最近发展

图像处理与计算机视觉的经典书籍 *************************************************************************************************************** 本文章的源作者是   杨晓冬  (个人邮箱:xdyang.ustc@gmail.com)。 原文的链接是 http://www.iask.

图像处理面试方法和前景

最近版上有不少人在讨论图像处理的就业方向,似乎大部分都持悲观的态度。我想结合我今年找工作的经验谈谈我的看法。就我看来,个人觉得图像处理的就业还是不错的。首先可以把图像看成二维、三维或者更高维的信号,从这个意义上来说,图像处理是整个信号处理里面就业形势最好的,因为你不仅要掌握(一维)信号处理的基本知识,也要掌握图像处理(二维或者高维信号处理)的知识。其次,图像处理是计算机视觉和视频处理的基础,掌握好

图像处理---二义性、通路长度、Dm距离的概念

---------------------------------------------------------------------------------------------------------————————————----— 今天终将成为我们回不去的昨天!想做就做,就是现在! ----------------------------------