mirror of
https://github.com/opencv/opencv_contrib.git
synced 2025-10-20 12:55:15 +08:00

ximgproc: optimize Adaptive Manifold function for ARM64 #3980 ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - This PR introduces an ARM64-specific performance optimization in AdaptiveManifoldFilter::h_filter by applying loop unrolling. - The optimization is guarded with #if defined(_M_ARM64) to ensure it only affects ARM64 builds. - The optimization does not affect accuracy and maintains the same numerical behavior as the original scalar implementation. Performance Improvements : - The optimization significantly improves the performance of adaptive Manifold function on Windows ARM64 targets. - The table below shows timing comparisons before and after the optimization: <img width="1098" height="219" alt="image" src="https://github.com/user-attachments/assets/6cab9147-8ba0-4582-bdc6-e1f57989da86" />
Extended Image Processing
- Structured Forests
- Edge Boxes
- Domain Transform Filter
- Guided Filter
- Adaptive Manifold Filter
- Joint Bilateral Filter
- Superpixels
- Graph segmentation
- Selective search from segmentation
- Paillou Filter
- Fast Line Detector
- Deriche Filter
- Pei&Lin Normalization
- Ridge Detection Filter
- Binary morphology on run-length encoded images
- Ellipse Detector