簡體   English   中英

Opencv 錯誤 - python 中的 Imread 語句

[英]Opencv error - Imread statement in python

我編譯了這段代碼:

import numpy as np
import cv2   as cv
simps = np.zeros((8000,128,128,3))
j = 0
for i in range(1000,9001):

        print(j)

        if   (i % 10 == i and i != 10):
            filename = '/content/cropped/' + str(i) + '.png'
        elif (i % 100 == i and i != 100):
            filename = '/content/cropped/' + str(i) + '.png'
        elif (i % 1000 == i and i != 1000):
            filename = '/content/cropped/' + str(i) + '.png'
        elif (i % 10000 == i and i != 10000):
            filename = '/content/cropped/' + str(i) + '.png'
        print(filename)
        print(type(filename))
        simps[j,:,:,:] = cv.imread(filename)
        print(simps[j,:,:,:])
        simps[j,:,:,:] = cv.resize(simps[j,:,:,:],(128,128));
        j += 1
simps = simps.astype('uint8')
np.save('/content/simps.npy',simps)

但得到這個錯誤:

     17         print(filename)
     18         print(type(filename))
---> 19         simps[j,:,:,:] = cv.imread(filename)
     20         print(simps[j,:,:,:])
     21         simps[j,:,:,:] = cv.resize(simps[j,:,:,:],(128,128));

ValueError: could not broadcast input array from shape (200,200,3) into shape (128,128,3)

此錯誤在cv.imread()上,但我的代碼是正確的。 我的代碼是在 colab 上編譯的,但是當我在我的系統上編譯時,它起作用了。 你知道那個錯誤嗎?

您正在嘗試在調整數組大小之前填充數組,請在第 19 行嘗試

simps[j,:,:,:] = cv.resize(cv.imread(filename),(128,128))

暫無
暫無

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

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