2017-08-25 3 views
1

画像データをたくさん保存するために.h5ファイルを使用しています。次に、画像のサイズを変更し、画像を保存します。画像についてPython 3.5とh5pyで異常な色を表示する.h5ファイルから画像データを読み込む

作成データセット: t1=hdf5_file.create_dataset("train_img", train_shape, np.int8)

ループサイズを変更し、それらを格納するための画像アドレス上:

hdf5_path = 'dataset.hdf5' 
train_dataset = h5py.File(hdf5_path, "r") 
train_set_x_orig = np.array(train_dataset["train_img"][:]) 
plt.imshow(train_set_x_orig[5]) #see 5th image 
plt.show() 
:私はイメージを次のコードでどのように見えるかをチェックしてみてください

for i in range(len(train_addrs)): 
    addr = train_addrs[i] 
    img = cv2.imread(addr) 
    img = cv2.resize(img, (128, 128), interpolation=cv2.INTER_CUBIC) 
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 
#save 
    hdf5_file["train_img"][i, ...] = img[None] 

hdf5_file.close() 

私はこの珍しい画像を取得します。 .h5ファイルからトップ1、ボトム1は元の画像です。私はすべての形をチェックして、彼らは大丈夫です。 resizeコードcv2でもOKです。どんな種類の助けにも感謝します。

After loading image from .h5 file

Original image

+0

?保存する前に 'img'と表示されます。この '[i、...]'は 'i'ループの内側または外側に保存されますか? – hpaulj

+0

と思われますが、.h5ファイルはデフォルトで7ビット表現を使用しています。 –

+0

'create_datset'で使用されるdtypeは' np.int8'です。 'resize'パーツを個別にチェックしました。その部分は大丈夫です。 '[i、...]'を 'i'ループの中に入れます。それを変更しました。どのようにそれを右に得るための任意のアイデア? @hpaulj – sayem48

答えて

1

Iは

In [1343]: d2 =f.create_dataset('newworld set',shape=(2, *arr2.shape), dtype=np.uint8) 
In [1344]: d2[0]=arr2 
In [1345]: d2[1]=arr2 

で保存scipy.misc

In [1354]: arr2 = misc.imread('../Desktop/newworld2.png') 
In [1355]: arr2.shape 
Out[1355]: (500, 778, 3) 
In [1356]: arr2.dtype 
Out[1356]: dtype('uint8') 

とPNG形式W bは/元

を保存ロード int8として

省は、あなたが

In [1348]: d3 =f.create_dataset('newworldbad',shape=(2, *arr2.shape), dtype=np.int8) 
In [1349]: d3[0]=arr2 
In [1350]: d3[0] 

白画素を示し、色の変化の種類を生産し、[255, 255, 255]は、[127, 127, 127]をグレーに変更などDTYPE(s)は何

+0

はい、まさにこれが起こったのです! – sayem48

関連する問題