Pymnn为方便算法前后处理,提供了MNN.cv和MNN.numpy模块,具备与cv2和numpy功能相似的用法的基础API,目前支持的cv函数57个,numpy函数170个,函数列表如下:
1. MNN.cv
图像编解码
| 函数名 | 功能 |
|---|---|
| haveImageReader | 是否可读(解码) |
| haveImageWriter | 是否可写(编码) |
| imdecode | 从内存解码为Mat |
| imencode | 编码Mat到内存中 |
| imread | 读图片 |
| imwrite | 写图片 |
图像滤波
| 函数名 | 功能 |
|---|---|
| bilateralFilter | 双边滤波,去噪音,保存边缘信息 |
| blur | 均值滤波,平滑模糊 |
| boxFilter | 盒子滤波, |
| buildPyramid | 高斯金字塔,获得不同层级图片 |
| dilate | 膨胀 |
| filter2D | 2d卷积 |
| GaussianBlur | 高斯模糊 |
| getDerivKernels | 求导数,实际为Sobel/Scharr |
| getGaborKernel | 获取Gabor核 |
| getGaussianKernel | 获得高斯核 |
| getStructuringElement | 获取结构化元素用于形态学操作 |
| Laplacian | 边缘检测滤波 |
| pyrDown | 高斯平滑+下采样 |
| pyrUp | 上采样+高斯平滑 |
| Scharr | 边缘检测滤波 |
| sepFilter2D | 2个一维kernel做滤波 |
| Sobel | 边缘检测滤波 |
| spatialGradient | 梯度,实际为Sobel |
| sqrBoxFilter | 平方后滤波 |
图像形变
| 函数名 | 功能 |
|---|---|
| getAffineTransform | 仿射变换 |
| getPerspectiveTransform | 透视变换 |
| getRectSubPix | 截取矩形区域 |
| getRotationMatrix2D | 旋转矩阵 |
| invertAffineTransform | 反仿射变换 |
| resize | 图片放缩 |
| warpAffine | 仿射变换 |
| warpPerspective | 透视变换 |
图像转换
| 函数名 | 功能 |
|---|---|
| blendLinear | 线性混合2个图像 |
| threshold | 逐像素阈值化 |
绘画函数
| 函数名 | 功能 |
|---|---|
| arrowedLine | 画箭头 |
| circle | 画圆 |
| clipLine | 获取虚线段 |
| drawContours | 画轮廓 |
| ellipse2Poly | 画椭圆曲线 |
| fillPoly | 填充多边形 |
| line | 画线段 |
| polylines | 画多边形线 |
| rectangle | 画正方向 |
色彩空间转换
| 函数名 | 功能 |
|---|---|
| cvtColor | 颜色空间转换 |
| cvtColorTwoPlane | YUV420到RGB的转换 |
结构函数
| 函数名 | 功能 |
|---|---|
| findContours | 轮廓检测 |
| minAreaRect | 最小外接矩形 |
数组操作函数
| 函数名 | 功能 |
|---|---|
| copyTo | 带mask的拷贝 |
| bitwise_and | 带mask按位与 |
| bitwise_or | 带mask按位或 |
| bitwise_xor | 带mask按位异或 |
| hconcat | 水平方向拼接 |
| vconcat | 垂直方向拼接 |
| mean | 求均值 |
| flip | 翻转 |
| rotate | 旋转 |
2. MNN.numpy
数组创建
| 函数名 | 功能 |
|---|---|
| empty | 空数组 |
| empty_like | 空数组like |
| eye | 对角线2d数组 |
| identity | 对角线2d数组 |
| ones | 全1数组 |
| ones_like | 全1数组like |
| zeros | 全0数组 |
| zeros_like | 全0数组like |
| full | 填充 |
| full_like | 填充like |
| array | 创建数组 |
| asarray | 创建数组 |
| asanyarray | 创建数组 |
| ascontiguousarray | 创建数组 |
| asmatrix | 创建2d数组 |
| copy | 拷贝数组 |
| arange | 范围创建 |
| linspace | 区间创建 |
| logspace | log区间创建 |
| geomspace | log区间创建 |
| meshgrid | 坐标矩阵 |
| mat | 矩阵 |
数组操作
| 函数名 | 功能 |
|---|---|
| copyto | 拷贝至 |
| shape | 获取形状 |
| reshape | 改变形状 |
| ravel | 拉平 |
| flat | 拉平 |
| flatten | 拉平 |
| moveaxis | 移动维度 |
| rollaxis | 轮转维度 |
| swapaxes | 交换维度 |
| T | 转置 |
| transpose | 转置 |
| atleast_1d | 至少1维 |
| atleast_2d | 至少2维 |
| atleast_3d | 至少3维 |
| broadcast_to | 广播 |
| broadcast_arrays | 数组广播 |
| expand_dims | 增加维度 |
| squeeze | 压缩1维度 |
| asfarray | 转浮点 |
| asscalar | 转标量 |
| concatenate | 连接 |
| stack | 连接 |
| vstack | 垂直连接 |
| hstack | 水平连接 |
| dstack | 深度连接 |
| column_stack | 列连接 |
| row_stack | 行连接 |
| split | 切分 |
| array_split | 数组切分 |
| dsplit | 深度切分 |
| hsplit | 水平切分 |
| vsplit | 垂直切分 |
| tile | 重复堆叠 |
| repeat | 重复 |
| reshape | 变形 |
坐标操作
| 函数名 | 功能 |
|---|---|
| nonzero | 非0元素坐标 |
| where | 条件选取 |
| unravel_index | 反拉平坐标 |
线性代数
| 函数名 | 功能 |
|---|---|
| dot | 点乘 |
| vdot | 点乘 |
| inner | 内积 |
| matmul | 矩阵乘 |
逻辑函数
| 函数名 | 功能 |
|---|---|
| all | 全部非0 |
| any | 任意非0 |
| logical_and | 与 |
| logical_or | 或 |
| logical_not | 否 |
| logical_xor | 异或 |
| array_equal | 相等 |
| array_equiv | 相等 |
| greater | 大于 |
| greater_equal | 大于等于 |
| less | 小于 |
| less_equal | 小于等于 |
| equal | 等于 |
| not_equal | 不等 |
数学函数
| API | 功能 |
|---|---|
| sin | 正弦 |
| cos | 余弦 |
| tan | 正切 |
| arcsin | 反正弦 |
| arccos | 反余弦 |
| arctan | 反正切 |
| hypot | |
| arctan2 | |
| sinh | |
| cosh | |
| tanh | |
| arcsinh | |
| arccosh | |
| arctanh | |
| around | |
| round_ | |
| rint | |
| floor | |
| ceil | |
| trunc | |
| prod | 积 |
| sum | 和 |
| nanprod | 积 |
| nansum | 和 |
| exp | e指数 |
| expm1 | e指数-1 |
| exp2 | 2指数 |
| log | 对数 |
| log10 | 10对数 |
| log2 | 2对数 |
| log1p | x+1对数 |
| logaddexp | exp对数 |
| logaddexp2 | 2指数对数 |
| sinc | |
| signbit | |
| copysign | |
| frexp | |
| ldexp | |
| add | 加 |
| reciprocal | 倒数 |
| positive | 取正 |
| negative | 取负 |
| multiply | 乘 |
| divide | 除 |
| power | 指数 |
| subtract | 减 |
| true_divide | 除 |
| floor_divide | 除 |
| float_power | 指数 |
| fmod | 模 |
| mod | 模 |
| modf | 模 |
| remainder | 余 |
| divmod | 除,余 |
| convolve | 卷积 |
| clip | 缩小范围 |
| sqrt | 平方根 |
| cbrt | 立方根 |
| square | 平方 |
| absolute | 绝对值 |
| fabs | 绝对值 |
| sign | 符号 |
| maximum | 取大 |
| minimum | 取小 |
| fmax | 取大 |
| fmin | 取小 |
数组扩充
| 函数名 | 功能 |
|---|---|
| pad | 扩充 |
随机采样
| 函数名 | 功能 |
|---|---|
| random | 随机数 |
| rand | 随机数 |
| randn | 随机数 |
| randint | 随机定点数 |
排序,搜索,计数
| 函数名 | 功能 |
|---|---|
| sort,lexsort,argsort | 排序 |
| argmax | 最大值坐标 |
| nanargmax | 最大值坐标 |
| argmin | 最小值坐标 |
| nanargmin | 最小值坐标 |
| argwhere | 非0坐标 |
| flatnonzero | 非0元素 |
| count_nonzero | 非0总数 |
统计
| 函数名 | 功能 |
|---|---|
| amin | 最小值 |
| amax | 最大值 |
| nanmin | 最小值 |
| nanmax | 最大值 |
| ptp | 范围 |
| average | 均值 |
| mean | 均值 |
| std | 标准差 |
| var | 方差 |
| nanmean | 均值 |
| nanstd | 标准差 |
| nanvar | 方差 |
