Closed HonglinChu closed 9 months ago
我在Mac本地测试的结果显示warpAffine比OpenCV快10倍。
我在Mac本地测试的结果显示warpAffine比OpenCV快10倍。
你可以提供一下你的测试代码么?我测试所有所有MNN提供的类opencv的函数(如 resize),只要底层涉及到需要matrix转换和convert转换的都会比opencv慢(warpAffine); 测试太小的图像差距不明显,可以输入1024x1024的图像试试,差距很大
输入1024x1024的图像,resize之后变成512x512的图像,你可以这样对比一下MNN和OpenCV的速度
我在Mac本地测试的结果显示warpAffine比OpenCV快10倍。
你可以提供一下你的测试代码么?我测试所有所有MNN提供的类opencv的函数(如 resize),只要底层涉及到需要matrix转换和convert转换的都会比opencv慢(warpAffine); 测试太小的图像差距不明显,可以输入1024x1024的图像试试,差距很大
我直接编译运行的opencv_bench
我把源图像大小设置为1024x1024,目标图像大小设置为512x512,结果显示MNNCV的速度仍然比OpenCV快。测试代码提供给你: 将上述代码粘贴至opencv_benchmark.cpp的186行,然后在build目录下打开编译宏 cmake .. -DMNN_BUILD_OPENCV=ON -DMNN_OPENCV_BENCH=ON,然后编译运行:make -j8&&./opencv_bench 我这里的运行结果如下:
感谢回复,有个问题resize和warpAffine的底层实现是差不多的,只是旋转矩阵M的数值不同,既然MNN的warpAffine 比OpenCV的快,为什么MNN的resize要比OpenCV的慢那么多?可以循环测试1000次取平均值看看。
MNN这边的实现不一样
好的,我理解的是 MNN 中的resize和warpfine的核心实现是差不多的;另外,在MNN中resize操作在图像预处理的时候使用频率非常高,如果确实没有OpenCV的快,希望后续可以重点优化一下。
Marking as stale. No activity in 60 days.
平台(如果交叉编译请再附上交叉编译目标平台):
Platform(Include target platform as well if cross-compiling):
when i test MNN::CV::warpAffine function(C++ Version) on PC with CPU,it is slower than opencv(C++ version), why? (MNN version 2.6.0),
Github版本:
Github Version:
直接下载ZIP包请提供下载日期以及压缩包注释里的git版本(可通过
7z l zip包路径
命令并在输出信息中搜索Comment
获得,形如Comment = bc80b11110cd440aacdabbf59658d630527a7f2b
)。 git clone请提供git commit
第一行的commit idProvide date (or better yet, git revision from the comment section of the zip. Obtainable using
7z l PATH/TO/ZIP
and search forComment
in the output) if downloading source as zip,otherwise provide the first commit id from the output ofgit commit
编译方式:
Compiling Method
编译日志:
Build Log: