Ayu阿予 2023-11-07 18:16 采纳率: 100%
浏览 96
已结题

OpenCV读取图片相对路径的有关问题

opencv读取图片使用绝对路径没有问题,但是相对路径报错?
我的文件结构是这样的:

img

绝对路径代码:

import cv2 as cv
#图片读取到img对象中
img = cv.imread('D:\Code\Python\DIP\OPENCV\img\Smith.jpg')
#参数:窗体名称,对象
cv.imshow('Beauty', img)
#等待用户命令, 参数:0无限等待,其余以毫秒为单位
cv.waitKey(0)

相对路径代码:

import cv2 as cv
#图片读取到img对象中
img = cv.imread('img\Smith.jpg')
#参数:窗体名称,对象
cv.imshow('Beauty', img)
#等待用户命令, 参数:0无限等待,其余以毫秒为单位
cv.waitKey(0)

绝对路径图片可以显示出来,但是相对路径给我如下报错:

[ WARN:0@0.025] global loadsave.cpp:248 cv::findDecoder imread_('img/Smith.jpg'): can't open/read file: check file path/integrity
Traceback (most recent call last):
  File "d:\Code\Python\DIP\OPENCV\read_photo.py", line 5, in <module>
    cv.imshow('Beauty', img)
cv2.error: OpenCV(4.8.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:971: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

我的文件路径不存在中文,图片命名不存在中文,请问这是为什么?没有相对路径我写得很难受orz

  • 写回答

2条回答 默认 最新

  • kwennnnnn 2023-11-07 18:25
    关注
    img = cv.imread('img\Smith.jpg')
    

    改成

    img = cv.imread(r'.\img\Smith.jpg')
    

    试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 创建了问题 11月7日