最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python OpenCV讀取視頻報錯的問題解決

 更新時間:2022年01月10日 14:10:13   作者:Hong_Youth  
大家好,本篇文章主要講的是Python OpenCV讀取視頻報錯的問題解決,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

最近由于項目的需要,經(jīng)常需要使用opencv讀視頻操作,會經(jīng)常遇到一個問題,就是視頻讀完之后會出現(xiàn)報錯的情況,雖然不影響代碼結(jié)果,但是對于吹毛求疵的我實在忍受不了。

會報錯的程序:

# -*-coding:utf-8-*-
"""
File Name: read_video.py
Program IDE: PyCharm
Create File By Author: Hong
"""
import cv2


def read_video(video_path: str):
    """
    OpenCV讀視頻小工具,解決視頻讀完報錯的問題
    :param video_path: 輸入需要讀取的視頻文件路徑
    :return: 沒有返回值
    """
    print('視頻路徑:', video_path)
    cap = cv2.VideoCapture(video_path)
    while cap.isOpened():
        # get a frame
        ret, frame = cap.read()

        cv2.imshow("capture", frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    print('視頻讀完!')
    cap.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    path = r'D:\multi_insect_videos\multi_object00.mp4'
    read_video(path)

可以把視頻正常讀完,但是結(jié)果會輸出錯誤

Traceback (most recent call last):
  File "E:/PyCharmDocument/create_ST_image/multi_insect_processing/crop_video_to_images.py", line 76, in <module>
    read_video(path)
  File "E:/PyCharmDocument/create_ST_image/multi_insect_processing/crop_video_to_images.py", line 65, in read_video
    cv2.imshow("capture", frame)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-uzca7qz1\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

原因是視頻結(jié)束后,opencv的imshow()函數(shù)讀不了幀就出錯了。解決方法:在imshow()之前加入判斷,只有當(dāng)有幀時才讀,沒有幀時直接退出循環(huán)。

不會報錯的代碼:

# -*-coding:utf-8-*-
"""
File Name: read_video.py
Program IDE: PyCharm
Create File By Author: Hong
"""
import cv2


def read_video(video_path: str):
    """
    OpenCV讀視頻小工具,解決視頻讀完報錯的問題
    :param video_path: 輸入需要讀取的視頻文件路徑
    :return: 沒有返回值
    """
    print('視頻路徑:', video_path)
    cap = cv2.VideoCapture(video_path)
    while cap.isOpened():
        # get a frame
        ret, frame = cap.read()
        if not ret:
            break
        cv2.imshow("capture", frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    print('視頻讀完!')
    cap.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    path = r'D:\multi_insect_videos\multi_object00.mp4'
    read_video(path)

程序輸出結(jié)果:

視頻路徑: D:\multi_insect_videos\multi_object00.mp4
視頻讀完!

Process finished with exit code 0

到此這篇關(guān)于Python OpenCV讀取視頻報錯的問題解決的文章就介紹到這了,更多相關(guān)Python OpenCV讀取視頻報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python中for循環(huán)的定義迭代方法

    詳解Python中for循環(huán)的定義迭代方法

    for循環(huán)用于迭代序列(即列表、元組、字典、集合或字符串)。for 語句的寫法如從對象開始按順序給變量賦值,元素個數(shù)重復(fù)這個過程。對象可以是列表(數(shù)組)、元組、字符串等。本文將詳細講解Python中for定義迭代方法詳解,需要的可以了解一下
    2022-04-04
  • Python 的 with 語句詳解

    Python 的 with 語句詳解

    這篇文章主要介紹了Python 的 with 語句,本文詳細講解了with語句、with語句的歷史、with語句的使用例子等,需要的朋友可以參考下
    2014-06-06
  • Python命名空間的本質(zhì)和加載順序

    Python命名空間的本質(zhì)和加載順序

    這篇文章主要介紹了Python命名空間的本質(zhì)和加載順序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 淺談Python中re.match()和re.search()的使用及區(qū)別

    淺談Python中re.match()和re.search()的使用及區(qū)別

    這篇文章主要介紹了淺談Python中re.match()和re.search()的使用及區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語法的推導(dǎo)方法步驟

    零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語法的推導(dǎo)方法步驟

    這篇文章主要介紹了零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語法的推導(dǎo)方法步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • python使用fileinput模塊實現(xiàn)逐行讀取文件的方法

    python使用fileinput模塊實現(xiàn)逐行讀取文件的方法

    這篇文章主要介紹了python使用fileinput模塊實現(xiàn)逐行讀取文件的方法,涉及Python中fileinput模塊操作文件的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • Python魔法方法功能與用法簡介

    Python魔法方法功能與用法簡介

    這篇文章主要介紹了Python魔法方法功能與用法,結(jié)合具體實例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計中魔法方法的概念、功能、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-04-04
  • Pytorch建模過程中的DataLoader與Dataset示例詳解

    Pytorch建模過程中的DataLoader與Dataset示例詳解

    這篇文章主要介紹了Pytorch建模過程中的DataLoader與Dataset,同時PyTorch針對不同的專業(yè)領(lǐng)域,也提供有不同的模塊,例如?TorchText,?TorchVision,?TorchAudio,這些模塊中也都包含一些真實數(shù)據(jù)集示例,本文給大家介紹的非常詳細,需要的朋友參考下吧
    2023-01-01
  • Python從入門到精通之條件語句和循環(huán)結(jié)構(gòu)詳解

    Python從入門到精通之條件語句和循環(huán)結(jié)構(gòu)詳解

    Python中提供了強大而靈活的條件語句和循環(huán)結(jié)構(gòu),本文將從入門到精通地介紹它們的使用方法,并通過相關(guān)代碼進行講解,希望對大家深入了解Python有一定的幫助
    2023-07-07
  • 在PyCharm中安裝PaddlePaddle的方法

    在PyCharm中安裝PaddlePaddle的方法

    這篇文章主要介紹了在PyCharm中安裝PaddlePaddle的方法,本文給大家介紹的非常想詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論

治多县| 襄樊市| 奉新县| 英吉沙县| 特克斯县| 忻州市| 夏邑县| 长白| 鹤峰县| 安图县| 临武县| 黎城县| 抚松县| 兴和县| 木兰县| 林口县| 额尔古纳市| 丽水市| 东乌珠穆沁旗| 兴和县| 新巴尔虎右旗| 景洪市| 石渠县| 四会市| 綦江县| 乳山市| 雅江县| 都江堰市| 临桂县| 沂源县| 曲沃县| 白玉县| 扬中市| 安塞县| 彭泽县| 英吉沙县| 丰顺县| 呼和浩特市| 怀柔区| 阿克陶县| 南宁市|