【寒武纪(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:释放内存

支持的功能

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

c 复制代码
* `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`:这个函数可能查询或检索图像的特定信息。这可能包括查询图像的属性、状态或位置信息等。

(正文结束)

相关推荐
ZOMI酱18 分钟前
【AI系统】模型转换基本介绍
人工智能
CodeDevMaster30 分钟前
LangChain之检索增强生成RAG
人工智能·python·llm
今天又是学习1 小时前
深度学习5
人工智能·深度学习
新加坡内哥谈技术2 小时前
RAG架构类型
大数据·人工智能·语言模型·chatgpt
努力的小好2 小时前
【python】数据可视化之图像处理
图像处理·python·信息可视化
Topstip2 小时前
iOS 19 重大更新泄露,将带来更“聪明”的 Siri 挑战 ChatGPT
人工智能·ios·ai·chatgpt
Nerinic2 小时前
深度学习基础1
人工智能·深度学习
数字扫地僧2 小时前
深度学习与知识图谱嵌入的结合:从理论到实践
人工智能·深度学习·知识图谱
真理Eternal2 小时前
手搓人工智能—聚类分析(下)谱系聚类与K-mean聚类
人工智能·机器学习
ZOMI酱3 小时前
【AI系统】昇腾 AI 架构介绍
人工智能·架构