日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cv2.VideoWriter生成视频无法播放的原因(持续补充)

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cv2.VideoWriter生成视频无法播放的原因(持续补充) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cv2.VideoWriter的使用方法

cv2.VideoWriter(filename, fourcc, fps, frameSize[, isColor])
  • filename:視頻保存路徑
  • fourcc:指定編碼器
  • fps:視頻幀率
  • frameSize:圖像大小
  • isColor:黑白畫面還是彩色畫面

示例

first_frame = cv2.imdecode(np.fromfile(img_names[0],dtype=np.uint8),-1) vid_writer = cv2.VideoWriter(filename=rf'{label_dir}\{index}.mp4', fourcc=cv2.VideoWriter_fourcc(*'XVID'), fps=fps, frameSize=(first_frame.shape[1],first_frame.shape[0])) for i in os.listdir(img_names):img = cv2.imdecode(np.fromfile(img_names[i],dtype=np.uint8),-1)img2 = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) # 如果是灰度圖需要加這行vid_writer.write(img2)

img_names是要用來生成視頻的圖像路徑列表。

易出錯的地方

  • 如果圖像路徑存在中文,使用cv2.imdecode(np.fromfile(img_names[0],dtype=np.uint8),-1)來讀入圖片,而不能是使用cv2.imread
  • 如果人為指定 frameSize 參數,一定要保證指定的大小等于讀入圖像的大小
  • 如果像示例中一樣根據輸入的圖像大小來指定 frameSize 參數,則需要注意frameSize 不能指定為 first_frame.shape[:2],因為 first_frame.shape 的輸出是[高,寬,通道數],而 frameSize=[寬,高],所以需要調換順序
  • 如果圖像是灰度圖,則需要使用img2 = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)先轉換為BGR格式(這篇博客)
  • 總結

    以上是生活随笔為你收集整理的cv2.VideoWriter生成视频无法播放的原因(持续补充)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。