opencv/samples/cpp/tutorial_code
Maksim Shabunin 7bdc618697
Merge pull request #26025 from mshabunin:cpp-videoio-highgui
 Potential conflicts with #25958
C-API cleanup: highgui, videoio #26025

  Merge with: opencv/opencv_contrib#3780

This PR removes usage of C-API from highgui and videoio modules. Only source code is affected, tests were not using obsolete API.

It should be possible to backport these changes to 4.x branch preserving removed public headers and source files (`*_c.h` and `*_c.cpp`).


#### Checklist

I tried to verify as many backends as possible, though these checks were not as thorough as I'd like them to be. Below is the checklist covering all modified backends with their statuses.

> 🔹 - small changes
> 🟢 - consider working
>  - considered untested

##### highgui

Pass | Backend | Local check | CI check
-----|---------|-------------|---------
🟢 | GTK2 | build + test, plugin build | build + test  
🟢 | GTK3 | build + test, plugin build | build + test
🟢 | QT | build + test, plugin build |
 | Wayland 🔹 | |
🟢 | WIN32 🔹 | | build + test
🟢 | Cocoa 🔹 | | build + test
 | WinRT | | 

##### videoio 

Pass | Backend | Local check | CI check
-----|---------|-------------|---------
🟢 | Android Camera/MediaNDK 🔹 | | build
🟢 | Aravis | build |
🟢 | AVFoundation OSX | | build + test
 | AVFoundation iOS | | build
🟢 | DC1394 | build |
🟢 | DShow 🔹 | | build
🟢 | FFMpeg | build, plugin build | build + test
🟢 | GPhoto 🔹 | build |
🟢 | GStreamer | build, plugin build | build + test
🟢 | Images | build | build + test
🟢 | MSMF 🔹 | | build + test
🟢 | OpenNI | build |
🟢 | PVAPI | build |
🟢 | V4L | build + test | build
🟢 | XIMEA | build |
🟢 | XINE 🔹 | build |

#### Notes

- local linux build checks performed using [this framework](https://github.com/mshabunin/opencv-videoio-build-check)
- minor extra changes made in both `cap_avfoundation*.mm` to make them slightly more synchronized - it would be better to combine them into a single one in the future
- configurations with plugins have been build but not tested
- **moved unrelated changes to separate PRs** ~two issues have been fixed in separate commits:~
  - ~imgproc: missing `cv::hal::` color conversion functions has been used in MediaSDK backend~
  - ~videoio/V4L: wrong color conversion mode caused bad colors for NV12 camera input format (RGB instead of BGR)~

It would be nice to check following functionality manually:
- [ ] OSX: camera input
- [ ] iOS: camera and file input
- [ ] WinRT: build, some testing
- [x] Linux/Wayland: build
2024-09-09 16:42:44 +03:00
..
calib3d Merge branch 4.x 2024-02-26 18:05:36 +03:00
core Merge pull request #23736 from seanm:c++11-simplifications 2024-01-19 16:53:08 +03:00
features2D Merge branch 4.x 2022-08-21 15:27:31 +00:00
gapi Merge pull request #21157 from alexgiving:atrutnev/move_resize 2021-12-29 15:13:43 +00:00
gpu Merge branch 'thrust_tutorial' of http://github.com/dtmoodie/opencv into thrust_tutorial 2015-11-10 12:29:51 -05:00
HighGUI Merge pull request #22149 from seanm:sprintf 2022-06-25 06:48:22 +03:00
Histograms_Matching Merge pull request #23442 from LaurentBerger:tuto_findFile 2023-04-06 13:02:00 +03:00
imgcodecs/GDAL_IO Update documentation ( tutorials ) 2016-08-15 17:23:04 +03:00
ImgProc Merge pull request #23442 from LaurentBerger:tuto_findFile 2023-04-06 13:02:00 +03:00
ImgTrans Merge pull request #25161 from mshabunin:doc-upgrade-5.x 2024-03-06 08:50:31 +03:00
introduction Merge pull request #16889 from mehlukas:3.4-consolidateImshow 2020-04-07 14:14:51 +00:00
ml/introduction_to_pca Merge pull request #25017 from kaingwade:ml_to_contrib 2024-02-27 15:54:08 +03:00
objectDetection Merge branch 4.x 2024-04-16 17:28:18 +03:00
photo Update Samples 2019-09-05 01:10:51 +03:00
ShapeDescriptors Update Samples 2019-09-05 01:10:51 +03:00
snippets Merge branch 4.x 2023-07-05 15:51:10 +03:00
TrackingMotion build: eliminate build warnings 2021-08-28 17:11:26 +00:00
video Fix some typos in platforms/, samples/, 3rdparty/. 2022-09-07 16:09:23 +03:00
videoio Update orbbec(uvc) tutorial 2024-07-31 15:19:23 +08:00
xfeatures2D Update Samples 2019-09-05 01:10:51 +03:00