You need to enable JavaScript to run this app. ResNet暴力检测项目运行时报OpenCV(-215:Assertion failed)错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

ResNet暴力检测项目运行时报OpenCV(-215:Assertion failed)错误如何解决

报错根因分析

你遇到的FillBitmapInfo断言报错是cv2.imshow()接口触发的,并非打印预测概率逻辑导致,核心问题是你传入了不符合imshow要求格式的图像数据。

具体问题定位

你在代码中对读取到的帧做了如下操作:

  1. 先将原图resize到224*224尺寸,此时color_img是符合OpenCV显示要求的3维数组(格式为(高, 宽, 通道数))
  2. 你直接对color_img执行了reshape(1,224,224,3)操作,修改后color_img变成了带batch维度的4维张量,是专门适配模型输入的格式
  3. 后续调用cv2.imshow('LIVE', color_img)时,OpenCV无法识别4维数组的位深、宽高参数,直接触发了断言失败报错。
修复方案

不要直接修改用于显示的原图像变量,单独生成模型输入的张量即可,修改对应代码段如下:

#resize image to 224*224
color_img = cv2.resize(color_img,(224,224))     
# 单独生成模型输入的4维张量,不修改原color_img变量
model_input = color_img.reshape(1,224,224,3) 

pred_prob = model.predict(model_input)
print(pred_prob[0][0].round(2))
pred=np.argmax(pred_prob)
其他可优化的笔误点(不影响当前报错)
  • responce拼写错误,正确为response
  • img_hight拼写错误,正确为img_height
  • 路径中的反斜杠建议加转义或者用原始字符串,避免部分特殊字符被识别为转义符,比如r'E:\Docs & Other\C-VS\ViolenceDetection\Resources\VDresnet152v2.h5'

内容的提问来源于stack exchange,提问作者Gautam Kantesariya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 23:45:02