이미지에 맞게 점을 치다
8159 단어 파이썬matplotlib
개요
로그에 기록된 터치 좌표를 그에 대응하는 화면 이미지에 오로지 플롯
···라고 하는 고행이 발생했으므로 그것을 자동화한다.
덧붙여 x축, y축이 묘화되어 화상의 사이즈도 바뀝니다.
Python - Python3 좌표를 이미지 위에 플롯 | teratail
plt.imshow를 사용하여 플롯 된 이미지를 확인할 수있었습니다.
...
에서 세이브하면(자), 픽셀수가 바뀌어 한층 더 불필요한 축까지 붙어, 그 주위에 여백이 나타납니다.
반대로 그 편이 편리하다는 희소? 사례.
나중에 알게 된 것입니다만, 아무래도 Pillow(PIL)가 없어도 할 수 있는 것 같습니다. 링크
코드
import matplotlib.pyplot as plt
from PIL import Image
# Figureとaxの準備 ... matplotlibの定型的な処理
fig = plt.figure(figsize=(8, 6))
fig.patch.set_facecolor('white') #<--これはなくてもよさそう。図全体の背景色を設定するが、imageで塗られる形になるため。
ax = fig.add_subplot(1, 1, 1)
# 画像だと(0,0)が左上に来て, y軸の正の方向が下を向くのでinvert_yaxis()
# ax.invert_yaxis()と思ったけど、いらないようす。
# xとyはログから入手したタッチ座標。ここでは、暫定的に左上、中央、右下を指定している
x = [0, 400, 200]
y = [0, 300, 150]
# タッチ座標をプロットする
ax.scatter(x, y, c='red', s=20)
# 背景に画面イメージを出す
im = Image.open("aaaa.png")
ax.imshow(im)
# プロット画像を保存する
plt.savefig("aaaa_plot.png")
원본 이미지 (aaaa.png) ... 페인트로 적절하게 만든 400x300 이미지
플롯 후 (aaaa_plot.png)
코드 2 - Pillow 없음
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import pathlib
# 画像を読み込んでおく
f = cbook.get_sample_data(pathlib.Path("aaaa.png").absolute())
im = plt.imread(f)
# Figureとaxの準備 ... matplotlibの定型的な処理
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(1, 1, 1)
# 理由はわからないが、ax.invert_yaxis()を呼ばなくてもy軸は下を向く
# xとyはログから入手したタッチ座標。ここでは、暫定的に左上、中央、右下を指定している
x = [0, 400, 200]
y = [0, 300, 150]
# タッチ座標をプロットする
ax.scatter(x, y, c='red', s=20)
# 背景に画面イメージを出す
ax.imshow(im)
# プロット画像を保存する
plt.savefig("aaaa_plot2.png")
비고
이 고행, 기시감이 있구나・・・라고 생각하면↓도 가까운 녀석이었다.
정규 표현식과 일치하는 부분을 Excel로 내보내기 + 플롯 - Qiita
이 때는 화상에 맞출 필요가 없었다+다른 사람이 원시 데이터를 보는 편의상, Excel로 하고 있었다.
참고
matplotlib - imshow로 이미지와 배열을 표시하는 방법 - Pynote
matplotlib의 엄청난 정리 - Qiita
python - matplotlib : 이미지 imshow 좌표를 플롯과 호환되지 않음 - stackoverrun
AxesDivider — Matplotlib 2.0.2 documentation
Reference
이 문제에 관하여(이미지에 맞게 점을 치다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/int_main_void/items/41d490b12b6b0214e941
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import matplotlib.pyplot as plt
from PIL import Image
# Figureとaxの準備 ... matplotlibの定型的な処理
fig = plt.figure(figsize=(8, 6))
fig.patch.set_facecolor('white') #<--これはなくてもよさそう。図全体の背景色を設定するが、imageで塗られる形になるため。
ax = fig.add_subplot(1, 1, 1)
# 画像だと(0,0)が左上に来て, y軸の正の方向が下を向くのでinvert_yaxis()
# ax.invert_yaxis()と思ったけど、いらないようす。
# xとyはログから入手したタッチ座標。ここでは、暫定的に左上、中央、右下を指定している
x = [0, 400, 200]
y = [0, 300, 150]
# タッチ座標をプロットする
ax.scatter(x, y, c='red', s=20)
# 背景に画面イメージを出す
im = Image.open("aaaa.png")
ax.imshow(im)
# プロット画像を保存する
plt.savefig("aaaa_plot.png")
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import pathlib
# 画像を読み込んでおく
f = cbook.get_sample_data(pathlib.Path("aaaa.png").absolute())
im = plt.imread(f)
# Figureとaxの準備 ... matplotlibの定型的な処理
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(1, 1, 1)
# 理由はわからないが、ax.invert_yaxis()を呼ばなくてもy軸は下を向く
# xとyはログから入手したタッチ座標。ここでは、暫定的に左上、中央、右下を指定している
x = [0, 400, 200]
y = [0, 300, 150]
# タッチ座標をプロットする
ax.scatter(x, y, c='red', s=20)
# 背景に画面イメージを出す
ax.imshow(im)
# プロット画像を保存する
plt.savefig("aaaa_plot2.png")
Reference
이 문제에 관하여(이미지에 맞게 점을 치다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/int_main_void/items/41d490b12b6b0214e941텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)