簡體   English   中英

cv2.error: OpenCV(4.5.2) resize.cpp:4051: error: (-215:Assertion failed).ssize:empty() in function 'cv::resize'

[英]cv2.error: OpenCV(4.5.2) resize.cpp:4051: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'

運行這行代碼時收到此錯誤:

pixels.append( cv2.resize(cv2.imread(raw_folder  + folder +"/" + file),dsize=(128,128)))**

錯誤:

cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-vi271kac\opencv\modules\imgproc\src\resize.cpp:4051: 
error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'

您可能遇到常見問題:當 CV2 無法讀取文件時,它不會引發錯誤,但會返回None ,現在您嘗試調整None - 空圖像 - 這顯示.ssize.empty()

您應該首先閱讀圖像,然后檢查您是否得到None然后嘗試調整它的大小。

您應該檢查raw_folder + folder +"/" + file是否創建正確的路徑以及是否可以在任何其他程序中打開它。 也許您在路徑中忘記了一些/ (即在raw_folderfolder之間)或忘記了文件擴展名,或者您創建了不存在文件的路徑。

path = os.path.join(raw_folder, folder, file)
print('[DEBUG] path:', path)

img = cv2.imread(path)

if img is None:
    print('Wrong path:', path)
else:
    img = cv2.resize(img, dsize=(128,128))
    pixels.append(img)

導致此錯誤的另一種情況是輸入了錯誤形狀的圖像。 我有一個形狀為 (3, 540, 960) 的 RGB 圖像,並得到了誤導性的“大小不是空的”。 將形狀更改為 (540, 960, 3) 解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM