opencv/modules
alexlyulkov aa52dafc90
Merge pull request #26127 from alexlyulkov:al/blob-from-images
Faster implementation of blobFromImages for cpu nchw output #26127

Faster implementation of blobFromImage and blobFromImages for
HWC cv::Mat images -> NCHW cv::Mat
case

Running time on my pc in ms:

**blobFromImage**
```
image size            old        new   speed-up
32x32x3             0.008      0.002       4.0x
64x64x3             0.021      0.009       2.3x
128x128x3           0.164      0.037       4.4x
256x256x3           0.728      0.158       4.6x
512x512x3           3.310      0.628       5.2x
1024x1024x3        14.503      3.124       4.6x
2048x2048x3        61.647     28.049       2.2x
```

**blobFromImages**
```
image size            old        new   speed-up
16x32x32x3          0.122      0.041       3.0x
16x64x64x3          0.790      0.165       4.8x
16x128x128x3        3.313      0.652       5.1x
16x256x256x3       13.495      3.127       4.3x
16x512x512x3       58.795     28.127       2.1x
16x1024x1024x3    251.135    121.955       2.1x
16x2048x2048x3   1023.570    487.188       2.1x
```


### 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
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-12-23 10:04:34 +03:00
..
calib3d js: add types included in bound APIs 2024-12-18 11:43:39 +01:00
core Merge pull request #26472 from chacha21:gpumatnd_step 2024-12-17 17:26:14 +03:00
dnn Merge pull request #26127 from alexlyulkov:al/blob-from-images 2024-12-23 10:04:34 +03:00
features2d Merge pull request #26590 from Kumataro:fix26589 2024-12-17 07:40:27 +03:00
flann flann: remove unused hdf5 header 2024-11-14 19:44:10 +03:00
gapi Merge pull request #26590 from Kumataro:fix26589 2024-12-17 07:40:27 +03:00
highgui Merge pull request #26625 from NekoAsakura:4.x 2024-12-20 09:03:33 +03:00
imgcodecs Merge pull request #25608 from sturkmen72:animated_webp_support 2024-12-20 13:06:28 +03:00
imgproc Merge pull request #26082 from mshabunin:fix-hal-cvt-functions 2024-12-19 11:56:04 +03:00
java Merge pull request #26009 from alexlyulkov:al/unify-build-gradle 2024-08-21 09:24:28 +03:00
js Merge pull request #26147 from vrabaud:opencv_js 2024-12-19 17:35:16 +03:00
ml Merge pull request #26590 from Kumataro:fix26589 2024-12-17 07:40:27 +03:00
objc Fix python re warning in gen_objc 2024-12-06 19:54:23 +08:00
objdetect objdetect: fix invalid vector access in QR encoder 2024-11-29 14:40:53 +03:00
photo Merge pull request #26511 from sturkmen72:proposed_fix_for_21902 2024-12-19 11:57:58 +03:00
python Made some pre-defined Python types optional to disable modules 2024-12-17 15:54:06 +03:00
stitching Document some stitching methods and enable bindings for them. 2024-11-25 14:03:49 +03:00
ts Fix Syntax warning in ts summary.py 2024-12-18 05:27:10 +08:00
video build: made environment access a separate feature 2024-10-30 18:37:22 +03:00
videoio Merge pull request #25500 from alex-urm:v4l_default_image_size 2024-12-20 11:00:30 +03:00
world cmake: use /INCREMENTAL:NO with MSVS 2015 2023-12-07 19:46:27 +00:00