Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115

Ошибка cv2

25.06.2019, 23:10. Показов 3915. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Крч, tkinter'ом воспроизводить видео это муторно, решил с помощью cv2 делать
Ну, нашёл в инете что-то типа этого, убрал много не нужного, оставил главное и подстроил под себя:
Python
1
2
3
4
5
6
7
8
9
10
11
12
import cv2
 
cap = cv2.VideoCapture('файл на компе')
 
while(cap.isOpened()):
    ret, frame = cap.read()
    cv2.imshow('название', frame)
    if cv2.waitKey(90) & 0xFF == ord('q'):
        break
 
cap.release()
cv2.destroyAllWindows()
Однако, всё работает, файл открывается, и проигрывается, в строке "cv2.waitKey(90)" - 90, это скорость воспроизведения, чем больше число, тем медленнее скорость.
Но, после того, как проиграется гифка, и закроется, вылетает вот такая ошибка:
Bash
1
2
3
4
Traceback (most recent call last):
  File "C:/Users/Vladks/PycharmProjects/01/venv/Include/01 - version 1.5.py", line 7, in <module>
    cv2.imshow('название', frame)
cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
Можете подсказать, как исправить, чтобы ошибки после проигрывания гифки не вылетало?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2019, 23:10
Ответы с готовыми решениями:

CV2 ошибка Unknown C++ exceptio
Приветствую! Подскажите, плиз, с чем связана ошибка и как ее устранить? Код в Jupiter Nootbook: import cv2 ...

Cv2 распозноване стрелки
У меня есть такая стрелка: Как мне определить данную вершину с помощью cv2: ???

ModuleNotFoundError: No module named 'cv2'
PyCharm Community Edition 2022.2.4 ругается, что не установлен модуль 'cv2' import cv2 import numpy as np import pyautogui ...

11
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.06.2019, 11:34
Вообще, CV немного не для этого.
Функция VideoCapture, исходя из названия, служит для захвата видео, а не для его воспроизведения.
Захват предполагается для дальнейшего анализа. Вряд ли вообще в CV есть что-то для воспроизведения. Уж не знаю, что там у вас "работает". Возьмите PyQt и не мучайтесь.
0
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
26.06.2019, 11:59  [ТС]
dondublon, можешь кинуть ссылку где написано как установить PyQt через pip?
Просто pip install PyQt не прокатит, ошибка, можно установить PyQt5, а в инете примеры воспроизведения видео с PyQt4, который непонятно как устанавливается...
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
26.06.2019, 12:26
pip install PyQt5
0
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
26.06.2019, 12:39  [ТС]
tooru, Я же написал, что знаю, что можно установить PyQt пятый через "pip install PyQt5", но тогда вопрос, в примерах в инете для воспроизведения видео используют PyQt4, который фиг пойдёшь как устанавливается, а с PyQt5 либо примеры не понятно какие, либо ошибки вылетают, вот и гадай, как с помощью PyQt видео воспроизводить
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.06.2019, 13:30
Vladks, простейшие примеры в официальный документации, у Qt c этим хорошо. И они под последнюю версию. https://doc.qt.io/qt-5/videooverview.html .
Если всё-таки найдёте на Qt4 - ну что ж, придётся адаптировать, но это не так уж сложно.
0
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
26.06.2019, 13:36  [ТС]
dondublon, однако это для C++, и я не очень наблюдаю чтобы на примерах воспроизводилась гиф анимация...
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.06.2019, 13:46
Vladks, конечно, ведь Qt - вообще сиплюсплюсная либа. PyQt - питоновские обертки, чтобы вы могли их использовать в питоне. А так - имена классов и всего остального те же. Всё то же самое, только проще, потому что не надо думать о звёздочках и прочих сишных сложностях.

Добавлено через 1 минуту
Vladks, по поводу гиф анимации - да, не в курсе, может, как-то по другому с ней. В любом случае, Qt - это ваш инструмент, для крутого гуя для десктопа. Tk - маленький и примитивный, CV - вообще не для этого.
1
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
26.06.2019, 14:01  [ТС]
dondublon, ладно, буду искать как воспроизводить гифки с помощью PyQt, либо пробовать фиксить ошибку с OpenCV
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.06.2019, 14:02
Лучший ответ Сообщение было отмечено Vladks как решение

Решение

Vladks, инет говорит, для гифок используется QMovie.
1
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
26.06.2019, 14:20  [ТС]
dondublon, есть!
Нашёл всё таки пример в инете
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from PyQt5.QtWidgets import QWidget, QApplication, QHBoxLayout, QLabel
from PyQt5.QtGui import QMovie
 
 
class Window(QWidget):
    def __init__(self):
        super().__init__()
 
        self.setWindowTitle('loading_gif')
 
        self.main_layout = QHBoxLayout()
 
        for i in range(1):
            movie = QMovie("файл.gif")
            label_loading = QLabel()
            label_loading.setMovie(movie)
            movie.start()
 
            label_loading.setFrameStyle(QLabel.Box)
 
            self.main_layout.addWidget(label_loading)
 
        self.setLayout(self.main_layout)
 
 
if __name__ == '__main__':
    app = QApplication([])
 
    mw_1 = Window()
    mw_1.show()
 
    app.exec()
Там был пример с использованием фона, зелёного и белого, убираем не нужное, получаем готовый код который воспроизводится с повтором, идеально, спасибо, помог
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
26.06.2019, 14:43
Цитата Сообщение от Vladks Посмотреть сообщение
movie = QMovie("файл.gif") label_loading = QLabel() label_loading.setMovie(movie) movie.start()
Этот фрагмент показан в примере в официальной доке.

Если вы будете искать готовые от и до примеры на все ваши задачи, далеко не уедете.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2019, 14:43
Помогаю со студенческими работами здесь

CV2 Перевернуть фотографию с изменением пропорций
Добрый вечер! Хотелось бы спросить как я могу перевернуть фотографию так, чтобы ее условная ширина стала длиной, а длина - шириной. ...

Сканер штрих-кодов: поиск актуальной базы данных со штрихкодами товаров; проблемы с cv2.cv.CV_32F и параметром --image
Добрый вечер, форумчане! Я пишу сканер штрих-кодов по инструкциям на этом сайте: https://habr.com/ru/company/enterra/blog/244163/ Я...

Ошибка cv2.error
Привет, искал способ считывания рукописного текста через Python. Нашел вот такой код на https://habr.com/ru/post/466565/ image_file =...

Ошибка модуля cv2
Импортировал модуль cv2, numpy есть, версия и разрядность интерпретатора подходящие. Все должно работать, но если вызвать: ...

Ошибка при компиляции python с cv2
Здравствуйте, не получается скомпилировать python (pyinstaller) с cv2. После компиляции выскакивает такая ошибка: ImportError: ERROR:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru