对于ARM设备(手机),我一直在为OpenCV的阈值function写一些优化。 它应该在Android和iPhone上工作。 但是,我没有一个设备来testing它,所以我正在寻找志愿者给我一点帮助。 如果这激励你更多,我打算将它发送到OpenCV,以便将其集成到主存储库中。 我会对代码的正确性感兴趣,如果它恰好按照预期工作,那么对原始/优化性能进行一些统计。 不要忘记看所有的情况。 所以,这里是代码。 要运行它,请粘贴到位于第228行(截至2.4.2)的opencv/modules/imgproc/src/thresh.cpp – 正好在SSE块的下面,然后重新编译OpenCV。 另外,在文件的顶部添加这一行 #include <arm_neon.h> 主代码体: #define CV_USE_NEON 1 #if CV_USE_NEON //if( checkHardwareSupport(CV_CPU_ARM_NEON) ) if( true ) { uint8x16_t thresh_u = vdupq_n_u8(thresh); uint8x16_t maxval_ = vdupq_n_u8(maxval); j_scalar = roi.width & -8; for( i = 0; i < roi.height; i++ ) { const uchar* src = (const uchar*)(_src.data […]