是蔡韩韩呀 2024-04-30 15:46 采纳率: 0%
浏览 22
已结题

目标检测项目无法读取视频

上个月做了一个表情检测的项目
训练完毕输入检测视频,开始报错cv2.error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:786: error: (-215:Assertion failed) !_img.empty() in function 'cv::imwrite'

img

只有上个月录唯一的一个视频可以输入检测,一替换就报上面的错。
找人看过了,说我的代码没错,是片源的问题

img

输入的视频要求是.wmv格式,旧视频是我从mp4改后缀扩展名为wmv的
我尝试过把旧视频发到手机又发回电脑,从MP4转为wmv,是可以输入检测的,旧视频的副本也可以输入
现在我试过把新视频改后缀扩展名为wmv,报错
从手机改扩展名,报错
从电脑网页MP4转wmv,报错
使用ffmpeg将视频转换为wmv,报错
将旧视频与新视频拼接在一起,转换为wmv格式,前半段为旧视频,只可输入检测前半段,到后半段就终止报错
只有旧视频可以输入检测,现在尝试的新录制的都不行(已经替换过很多新的)

img

这是旧新视频的属性对比,左为旧
这到底是啥原因

  • 写回答

19条回答 默认 最新

  • 专家-皆知 2024-04-30 15:47
    关注
    获得0.15元问题酬金

    参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。

    从你提供的信息来看,这个问题可能与视频文件的编码格式有关,而不仅仅是文件扩展名的问题。虽然你已经尝试将视频文件的扩展名从MP4改为WMV,但这并不意味着视频的编码格式也发生了改变。WMV是一种特定的视频压缩格式,而MP4可以包含多种不同的编码格式。

    OpenCV的cv2.error: OpenCV(4.9.0) ... error: (-215:Assertion failed) !_img.empty()错误通常表示尝试写入一个空的或未正确读取的图像。这可能是因为视频流没有正确读取,导致frame变量为空。

    以下是一些可能的解决方案:

    1. 确保视频编码格式正确:即使视频文件的扩展名是WMV,它们也可能包含不同的编码格式。你需要确认新视频的编码格式与旧视频(可以成功处理的视频)的编码格式相同。

    2. 使用ffmpeg转换视频ffmpeg是一个非常强大的工具,可以用来转换视频格式和编码。尝试使用ffmpeg将新视频转换为与旧视频相同的编码格式。例如,如果旧视频是使用Windows Media Video 9编码的,你需要将新视频也转换为这种编码。以下是使用ffmpeg转换视频的一个基本命令:

      ffmpeg -i input.mp4 -c:v wmv2 -q:v 2 -c:a wmav2 output.wmv
      

      这里-c:v wmv2指定视频编码器为Windows Media Video 9,-c:a wmav2指定音频编码器为Windows Media Audio 9。

    3. 检查视频文件的完整性:有时候,视频文件在下载或传输过程中可能会损坏。尝试重新下载或获取视频文件的新副本。

    4. 使用其他工具测试视频:使用其他视频播放工具或编辑软件尝试打开新视频,看看是否有错误或问题。

    5. 检查OpenCV版本:确保你的OpenCV版本是最新的,因为旧版本可能不支持某些视频编码格式。

    6. 调试代码:在读取视频帧后,立即检查frame是否为空。如果为空,那么问题可能出在视频读取上。你可以添加一个检查:

      ret, frame = video.read()
      if frame is None:
          print("Empty frame detected!")
      
    7. 尝试其他视频格式:如果问题仍然存在,尝试将视频转换为其他格式,如AVI或MKV,看看OpenCV是否可以读取。

    请尝试上述建议,看看是否能够解决问题。如果问题依然存在,可能需要更深入地检查视频文件的具体编码参数和OpenCV的兼容性。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 创建了问题 4月30日

悬赏问题

  • ¥15 学习完python基础了,想继续学习该学习什么呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥15 看一下OPENMV原理图有没有错误
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置
  • ¥15 Java计划序号重编制功能,此功能会对所有序号重新排序,排序后不改变前后置关系。