2017-08-24 5 views
0

イメージの作成と保存の最後にwhileループを実行しようとしています。残念ながら、各ループは、新しい画像ファイルを作成する代わりに、以前に保存した画像ファイルを更新します。したがって、5回実行されるwhileループの最後では(5つの別々のイメージを作成する必要があります)、5回実行されるwhileループで終了しますが、5回更新するイメージは1つだけ作成されます。私は今、数時間のために、この上で立ち往生されていますので、任意の提案が高く評価されているio.imsave()は複数のイメージファイルを作成しません

i = 5 
    while i > 0: 
     layer_name = 'pool'+str(i) 
    # Number of output classes of model being used 
     nb_classes = 1000 

     cam3 = grad_cam(x, vgg, sess, predicted_class, layer_name, nb_classes) 

     img = img.astype(float) 
     img /= img.max() 

    # Superimposing the visualization with the image. 
     new_img = img+3*cam3 
     new_img /= new_img.max() 

    # Display and save 
     #io.imshow(new_img) 
     #plt.show() 
     io.imsave(FLAGS.output, new_img) 



     i = i-1 
     print (i) 

: はここに私の関連するコードのブロックです。ありがとう

答えて

1

私はio.imsaveを知りませんが、それはから来ると思います: skimage.io.imsave

だから、すべての繰り返しで新しいファイル名を作成する必要がありますか?

+0

はい、私は:io.imsave(FLAGS.output、new_img)をio.imsave(file_name(i)、new_img)に変更すると、エラーメッセージが表示されますfile_nameは定義されていません。重要なことは、すべての反復で新しいファイルを作成するようではなく、既存のFLAGS.outputパスに保存するだけです。 – Veejay

+0

ドキュメントでは、fnameの型がstrなので、 '' my_filename "+ i' – strippenzieher

関連する問題