You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

我按照GeeksforGeeks教程操作OpenCV仍报错是什么原因?

错误原因
  • 报错中的!_src.empty()断言失败,本质是cv2.imread()没有成功读取到图片,返回了空值。你代码中cv2.imread()用的是相对路径beach.jpg,程序会默认从当前脚本的运行工作目录查找图片,而你实际的图片存放在C:\\Users\\farha\\Downloads\\WALLPAPER\\路径下,路径不匹配导致读取失败,后续imshow调用空对象触发了报错。
解决方法
  • 方案1:给cv2.imread()传入图片的完整绝对路径,路径可以用双反斜杠转义,或者加r前缀避免转义冲突,示例代码:
import cv2
# 写法1:双反斜杠转义路径
image = cv2.imread("C:\\Users\\farha\\Downloads\\WALLPAPER\\beach.jpg", cv2.IMREAD_COLOR)
# 写法2:加r前缀的原始字符串,不用手动转义
# image = cv2.imread(r"C:\Users\farha\Downloads\WALLPAPER\beach.jpg", cv2.IMREAD_COLOR)

if image is None:
    print("图片读取失败,请检查路径是否正确")
else:
    # imshow第一个参数是窗口名,可自定义,不需要写完整路径
    cv2.imshow("beach", image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
  • 方案2:将beach.jpg文件复制到你当前运行的Python脚本所在的同级目录下,保持原来的相对路径写法即可正常读取。
  • 方案3:如果需要批量处理同目录下的图片,可以先切换工作目录到图片存放路径,再用相对路径读取:
import cv2
import os
# 切换工作目录到图片存放文件夹
os.chdir(r"C:\Users\farha\Downloads\WALLPAPER")
image = cv2.imread("beach.jpg", cv2.IMREAD_COLOR)

内容的提问来源于stack exchange,提问作者Han Izza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:45:03