加载图像并重新整形产生的numpy数组

时间:2018-02-23 18:06:46

标签: python arrays image numpy reshape

您好我正在尝试重塑一个装有OpenCv的图像中充满像素数据的数组。得到的组合阵列形状(100,28,28,3) 我试图使它成形(100,28,28)并且不能用np.delete或reshape整个删除它。任何帮助都会很棒!到目前为止,这是我的代码:

import cv2
import glob
import numpy as np

hand_dig = []
files = glob.glob ("C:/Users/xxx/Desktop/digits/hand/*.PNG")
for myFile in files:
    print(myFile)
    image = cv2.imread (myFile)
    hand_dig.append (image)

print('hand_digit shape:', np.array(hand_dig).shape)
hand_dig=np.reshape(hand_dig,(100,28,28))
print(hand_dig.shape)

1 个答案:

答案 0 :(得分:0)

根据您上面给出的内容,您似乎有100个RGB形状图像(28,28)。 不,您不能丢弃像素,因为它可能会导致您丢失大量信息。 一个更好的选择是将每个图像转换为灰色,然后将其叠加。

阅读图像后,添加以下行:

items.CollectionChanged += (s, e) =>
{
    if (e.OldItems != null)
    {
        foreach (var item in e.OldItems.OfType<INotifyPropertyChanged>())
        {
            item.PropertyChanged -= Item_PropertyChanged;
        }
    }
    if (e.NewItems != null)
    {
        foreach (var item in e.NewItems.OfType<INotifyPropertyChanged>())
        {
            item.PropertyChanged += Item_PropertyChanged;
        }
    }
};