![](/img/trans.png)
[英]OpenCV VideoCapture and (-215:Assertion failed) !_src.empty() in function 'cvtColor'
[英]cv2.error: OpenCV(4.5.2) .error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
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
cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-vi271kac\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
再次檢查圖像地址。 當圖像以任何方式未正確加載時,通常會發生這種情況。 嘗試直接給出地址; 類似“C:\\test.jpg”的東西
import cv2
im = cv2.imread("WRONG IMAGE ADDRESS.jpg", 1)
im = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
更新
您還可以獲取腳本的當前文件夾路徑並從中加載圖像。
想象一下你的文件結構是這樣的:
--RootProject
|-img.jpg
|-script.py
然后你也可以這樣做:
腳本.py
import cv2
import sys
im = cv2.imread(sys.path[0]+"/img.jpg", 1)
im = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
嘗試將圖像作為路徑,要小心的一件事是關於斜線。 使用\\
而不是\
。 您的路徑必須類似於D:\\file\\file1\\file2
。 檢查它是否工作打印type(cv2.imread(path))
。 如果它打印<class 'numpy.ndarray'>
,那么你對 go 很好。
如果您的圖像文件路徑錯誤,可能會發生這種情況,請添加您的工作文件夾然后使用如下:
image = cv2.imread('eye_face.jpg')
type(image)
那么您的圖像類型將指示為numpy.ndarray
,如果您的圖像文件路徑錯誤,則類型將為NoneType
。
此錯誤是{錯誤的圖像位置}。 如果假設您在另一個文件夾中的圖像意味着這樣使用:
img=cv2.imread("../images/car.jpg",1)
這似乎是 windows 中的路徑問題。 我將它更改為這樣的完整路徑並且它有效。
文件名 = "D:\Sandbox\Github\opencv-project\Resources\Photos\cats.jpg"
我試圖從文件夾中讀取圖像並遇到同樣的問題。 我在問題所在的其中一個文件夾中有一個非圖像。
我通過添加解決了同樣的問題:
data = cv2.imread('path_to_your_image', as_grey =True)
然后嘗試將 flags = cv2.DFT_COMPLEX_OUTPUT 添加到這一行
dft = cv2.dft(np.float32('your_image'),flags = cv2.DFT_COMPLEX_OUTPUT)
這個問題有很多解決方案。
這可能是因為您的相機問題或相機驅動程序問題。 如果您使用的是任何 USB 相機,請交叉檢查其連接並確保沒有其他程序使用同一相機。
如果您的相機正在工作,那么您可能會放置錯誤的圖像路徑。 驗證圖像路徑。 此外,如果需要,請嘗試放置硬編碼路徑,例如C:\\image1.png
。
import cv2
im = cv2.imread("C:\\image1.png", 1)
im = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
請檢查您為路徑提供的擴展名。 JPEG、PNG 或其他任何格式。
我遇到了同樣的問題,但是在使用 google colab vr。 3.7.1 並且我安裝了 CV 4.6.0.66,但它仍然無法正常工作。 然后我上傳了一張我要使用的圖片,之后我嘗試使用此代碼。 灰色 = cv2.cvtColor(pic, cv2.COLOR_RGB2GRAY)
后... 。_。
錯誤:OpenCV(4.6.0)/io/opencv/modules/imgproc/src/color.cpp:182:錯誤:(-215:斷言失敗)._src.empty()在function'cvtColor'
檢查您的相機是否已在設備管理器中禁用,或者更新它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.