В настоящее время я работаю на Python и с помощью видеозахвата OpenCV и cv.imshow, чтобы показать видео. Я пытаюсь наложить наложение на этом видео, чтобы рисовать на нем, используя cv.line, cv.rectangle и т. Д. Каждый раз, когда кадр меняет его, он очищает изображение, которое было нарисовано, поэтому я надеюсь, что если бы я наложил наложение что-то вроде этого, что позволило бы мне нарисовать несколько изображений на видео без очистки. Любой совет? Спасибо, вперед!Как наложить наложение на видео
ответ
Вам нужны 2 объекта Mat - один для потоковой передачи камеры (скажем Mat_cam), а другой - для наложения (Mat_overlay).
Когда вы рисуете на главном окне, сохранить линии и объекты Rect на Mat_overlay, и убедитесь, что она не зависит от потокового видео
Когда следующий кадр получен, Mat_cam будет обновляться и его У меня будет следующий видеокадр, но Mat_overlay будет таким же, поскольку он не будет очищен/обновлен с каждой итерацией цикла for. Добавление Mat_overlay и Mat_cam с использованием взвешенного добавления даст вам желаемый результат.
Я не уверен, что правильно понял ваш вопрос. Что я получил от вашего вопроса, так это то, что вы хотите, чтобы наложение оставалось на вашем фрейме, потоковое из Videocapture, для этого простого решения - объявить свой «Mat_cam», (переменная потоковой передачи) вне цикла, который используется для захвата кадров, так что переменная «Mat_cam» не будет освобождаться каждый раз, когда вы ее зацикливаете.
- 1. наложить наложение на карте
- 2. Наложение графика на видео
- 3. Как наложить прозрачное видео на веб-камеру?
- 4. Наложение маскированного видео на видео в Matlab
- 5. Наложение видео на Android
- 6. Наложить наложение на документ с прозрачным окном
- 7. Наложение на видео AVAsset
- 8. ffmpeg как наложить цвет наложения поверх видео
- 9. Как наложить текст на фоновое видео?
- 10. Наложение QML на камеру видео
- 11. Как наложить холст поверх видео
- 12. Наложение кнопки воспроизведения над видео
- 13. Наложение элемента видео HTML5 на другой элемент видео.
- 14. Android: хотите наложить наложение на силуэт на предварительном просмотре камеры
- 15. ffmpeg наложение видео с полупрозрачным видео
- 16. Наложение растрового изображения на живое видео
- 17. наложение поверх отзывчивого видео
- 18. Samsung SmartTV наложение видео
- 19. Наложение текста на видео с требуемым углом с помощью FFMPEG
- 20. Как наложить изображение поверх встроенного видео?
- 21. Наложение заголовка на видео с помощью CSS
- 22. Наложение изображения на видео в Android
- 23. Текстовое наложение на полноэкранном видео Roku
- 24. Наложение двух видео с AVFoundation
- 25. Наложение нескольких изображений на видео с Avisynth
- 26. jQuery Наложение изображения на HTML5 Видео
- 27. Наложение текста на видео с MLT
- 28. Наложение видео YouTube на выпадающее меню HTML
- 29. Добавить изображение наложение на видео FFmpeg
- 30. Как наложить кнопку воспроизведения над миниатюрным изображением видео?
Я пробовал это, но я продолжаю получать эту ошибку: ошибка: .. \ .. \ .. \ modules \ core \ src \ arithm.cpp: 1287: error: (-209) Операция не является "массивом op array '(где массивы имеют одинаковый размер и одинаковое количество каналов), а также' массив op scalar ', а не' scalar op array 'в функции cv :: arithm_op .... Может быть, потому, что я использую функцию videoCapture загрузить мое видео? – kylejohnson1995
Нет. Это потому, что два объекта Mat, которые вы добавляете, должны иметь одинаковый размер и одинаковое количество каналов, то есть оба должны быть трехканальными изображениями –
Извините за другой плохой вопрос. Но как узнать, сколько каналов в моем видео? Я попытался использовать функцию копирования, но это не позволило мне с функцией videoCapture. – kylejohnson1995