Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the urvanov-syntax-highlighter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the breadcrumb-navxt domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the advanced-ads domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。lancr ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114
ダイアログを使って複数選択した画像から任意の画像を表示する方法 | 診療放射線技師がPythonをはじめました。

ダイアログを使って複数選択した画像から任意の画像を表示する方法

リストで取得したファイルから、ある画像を表示する方法

5回前の記事でCT画像のWW、WLをスライダーを使って調整の記事を書きました。

そして、前回、前々回ではファイルを複数、もしくはフォルダごとに選択する方法を書きましたが、その際、選択したファイル名を表示するに留まり、WW,WLの調整の記事にしませんでした。

その理由は、複数選択した変数名をそのまま処理に回すとエラーが出てしまいまうからです。

例えば、画像を表示しようとしたときの命令文

plt.imshow(……………)

で指定するファイル名は一つでなければいけないのですが、変数をそのまま渡すことは、複数のファイル名を指定していることになってしまいます。


CT画像のWW、WLをスライダーを使って調整で示したコードのファイル選択部分をダイアログを使って、ファイルを複数選択する。 に変更してみました。

これを実行すると

’tuple’型のものは指定できませんと怒られてしまいます。

では、どうしたらいいのでしょうか?

それは、一つ一つ取り出してあげればいいだけです。

その方法は変数の後ろに[]を付けて中に何番目のデータか指定してあげればいいです。

例えば、初めのデータを表示したければ、上記コードの24行目の変数を

fname ⇒  fname[0]

のように、変数の初めのファイルに指定してあげれば表示することができます。

(変数に入れた複数のデータは0からカウントしていきます。なので一番初めのファイルは番号0となります。)

i番目の画像を表示したい場合はi-1を指定してあげればいいわけです。


修正したコードです。

せっかく、複数選択したのに指定した画像しか表示できないのでは余計め面倒になってしまいました。。。。。


次回は、マウスのホイールを使って画像を変更していく方法をやってみたいと思います。

広告
上新電機 パソコン買取サービス

Categories:

Tags: