[英]Python: Problems of steganography in process of saving(cv2.imwrite) and reading(cv2.imread) using openCV
[英]Python openCV error while using cv2.imread()
import cv2
import numpy as np
#load color of an image in grayscale
img1 = cv2.imread('Tarun.jpg',0)
cv2.imshow('Hey its me Tarun yellogi',img1)
error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:331: error: (-215) size.width>0 && size.height>0 in function cv::imshow
img1 = cv2.imread('Tarun.jpg',0)
如您所知, imread
讀取指定的圖像。 僅使用文件名,如下所示,python 嘗試從當前工作目錄讀取圖像。 如果該文件不存在,則不會報告錯誤並且img1
的值為None
。
這行:
cv2.imshow('Hey its me Tarun yellogi',img1)
返回錯誤:
error: C:\\projects\\opencv-python\\opencv\\modules\\highgui\\src\\window.cpp:331: error: (-215) size.width>0 && size.height>0 in function cv::imshow
表示imshow
命令中指定的圖像(即img1
)的寬度和/或高度為 0。錯誤消息是說函數imshow
中的圖像必須具有寬度大於零的大小,並且高度大於零。
您可以使用img1.shape
檢查圖像大小。 在這種情況下,您可能會收到錯誤消息AttributeError: 'NoneType' object has no attribute 'shape'
。 您可以進一步檢查img1
是None
與img1 == None
。 如果您得到True
響應,那么您就會知道img1
不包含圖像數據。
TL; 博士
未找到文件“Tarun.jpg”,因此img1 == None
。
os
模塊使路徑在任何其他機器上工作,而不是硬編碼絕對路徑imshow()
沒有得到正確的圖像來顯示None
: print(img1.shape)
和print(img1)
cv2.imread()
返回None
我認為您可以嘗試在循環中讀取圖片以防止因 Nonetype 錯誤而暫停! 它對我有幫助(在我的情況下,一些 jpg 文件是 Nonetype)
if img is None:
continue
如果圖像不在當前目錄中,則必須提及圖像的絕對路徑。
使用os
模塊使路徑在任何其他機器上工作,而不是硬編碼絕對路徑。
但是這個錯誤信息意味着imshow()
沒有得到正確的圖像來顯示。 我會檢查圖像的形狀和值以確保圖像沒有損壞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.