cv2.error: OpenCV(4.5.2) .error: (-215:断言失败) !_src.empty() 在函数“cv::cvtColor”中

gam*_*ker 10 python opencv

这是我的代码:

import cv2 #for image processing
import easygui #to open the filebox
import numpy as np #to store image
import imageio #to read image stored at particular path
import sys
import matplotlib.pyplot as plt
import os
import tkinter as tk
from tkinter import filedialog
from tkinter import *
from PIL import ImageTk, Image



top=tk.Tk()
top.geometry('400x400')
top.title('Cartoonify Your Image !')
top.configure(background='white')
label=Label(top,background='#CDCDCD', font=('calibri',20,'bold'))

def upload():
    ImagePath=easygui.fileopenbox()
    cartoonify(ImagePath)


def cartoonify(ImagePath):
    
    # read the image
    originalmage = cv2.imread(ImagePath)
    
    originalmage = cv2.cvtColor(originalmage, cv2.COLOR_BGR2RGB)
    #print(image)  # image is stored in form of numbers
Run Code Online (Sandbox Code Playgroud)

当我运行这些代码行时,出现以下错误:

cv2.error:OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-vi271kac\opencv\modules\imgproc\src\color.cpp:182:错误:(-215 :断言失败) !_src.empty() 在函数 'cv::cvtColor' 中

Sha*_*vid 15

再次检查图片地址。当图像未以任何方式正确加载时,通常会发生这种情况。尝试直接给出地址;类似“C:\\test.jpg”

import cv2
im = cv2.imread("WRONG IMAGE ADDRESS.jpg", 1)
im = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


更新
您还可以获取脚本的当前文件夹路径并从中加载图像。
想象一下你的文件结构是这样的:

--RootProject
  |-img.jpg
  |-script.py
Run Code Online (Sandbox Code Playgroud)

然后你也可以做这样的事情:

脚本.py

import cv2
im = cv2.imread("WRONG IMAGE ADDRESS.jpg", 1)
im = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
Run Code Online (Sandbox Code Playgroud)