pythonで、ある画像を読み込み、その画像を表示して、
カーソルでその画像の特定範囲を指定し、その縦横幅とかを変数に入れたり返す等する方法を
以前お聞きして、コードを教えて貰ったのですが、画像が表示されるだけで動きません。
Google Colaboratoryを使用しました。
コードを改変する場合、Matplotlibを使いたいです、構造が分かりやすいため。
opencvは構造が分かりにくい、、複雑でブラックボックス化しているため、避けたい。
また、guiというものはよく分かりませんが、cvのように、中身が複雑すぎてブラックボックス化しているものは使わず、中の仕組みが分かりやすいものを使っていきたいのです。
具体的には上記の、1.jpgに対し、カーソル選択操作等によって、赤色の、左上にある四角形のサイズちピクセルを取得する・・・(できれば両情報の含まれるタプル??で)ことは、問題なくできますかね?
以下が教えて貰ったコードになります。
python
1from PIL import Image 2import matplotlib.pyplot as plt 3import numpy as np 4 5im=Image.open('1.jpg') 6 7global start_x; 8global start_y; 9 10 11def onclick(event): 12 global start_x; 13 global start_y; 14 print('click' , event.x, event.y) 15 start_x = int(event.x) 16 start_y = int(event.y) 17 18 19def onrelease(event): 20 global start_x; 21 global start_y; 22 print('release' , event.x, event.y ) 23 print('size x=' , event.x - start_x , 'y=' , start_y -event.y ) 24 25 26fig = plt.figure() 27 28im_list=np.asarray(im) 29plt.imshow(im_list) 30 31fig.canvas.mpl_connect('button_press_event', onclick) 32fig.canvas.mpl_connect('button_release_event', onrelease) 33 34plt.show()
で、これでできないんですが・・・できる方法があれば教えて頂ければ幸いです。
ColabではGuiを使えない、マウスの操作を受け付けていない、ということですかね?
自分のPCでこれを実行すれば動きますかね?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/14 08:00
2021/05/14 09:23