当前位置: 首页 > news >正文

【寒武纪(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`:这个函数可能查询或检索图像的特定信息。这可能包括查询图像的属性、状态或位置信息等。

(正文结束)

http://www.lryc.cn/news/222408.html

相关文章:

  • 有关python库
  • java项目之电影网站(ssm框架)
  • 技术分享 | app自动化测试(Android)--触屏操作自动化
  • Java连接数据库并查询表中的全部数据
  • STM32存储左右互搏 SPI总线读写FLASH W25QXX
  • 【EI会议征稿】第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)
  • 解决pip 安装 pyhash错误
  • 解决 win11 vmware 中centos 网络不能访问外网
  • Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较
  • Qt 二维码生成与识别
  • jacoco和sonar
  • Django系列之Serializer的source参数使用、自定义序列化方法
  • Java从入门到精通
  • 电路布线问题动态规划详解(做题思路)
  • webpack 的 Loader 和 Plugin 的区别,常见的 loader 和 plugin 有哪些?
  • 云计算实战项目之---学之思在线考试系统
  • 研究生学术与职业素养讲座MOOC---期末复习(1-15)
  • kube-prometheus-stack监控k8s1.24+ docker缺少图像
  • 【C/PTA——循环结构3】
  • MAC设备(M1)环境下编译安装openCV for Java
  • pytest中的pytest.ini
  • C#通过TCP发送List<string>
  • Mactracker for mac(硬件信息查询工具)免费下载
  • MES管理系统中常规的生产建模有哪些
  • 电商API:淘宝京东拼多多1688多电商平台的商品销量库存信息获取
  • EPLAN软件中的术语-主数据‘’技术分享
  • web应用程序、Django框架的学习
  • 【c++之设计模式】组合使用:抽象工厂模式与单例模式
  • Adobe Photoshop Elements 2024 v24.0 简体中文版 | 中文直装版
  • seata事务回滚引起的skywalking数据库存储空间剧增的问题排查