Die im Protokoll aufgezeichneten Berührungskoordinaten werden einfach auf dem entsprechenden Bildschirmbild aufgezeichnet. Da die Strafen von ... eingetreten sind, werden wir es automatisieren.
Die x-Achse und die y-Achse werden gezeichnet, und auch die Größe des Bildes ändert sich. [Python - Python3-Koordinaten auf Bild | Teratail plotten] [5]
Ich konnte das geplottete Bild mit plt.imshow sehen. ... Wenn Sie mit> speichern, ändert sich die Anzahl der Pixel, und es wird sogar eine zusätzliche Achse angehängt, um die ein Rand angezeigt wird.
Ist es im Gegenteil selten, dass es bequemer ist? Fall. Wie ich später erfuhr, scheint es, dass es ohne Kissen (PIL) gemacht werden kann. [Link] [4]
import matplotlib.pyplot as plt
from PIL import Image
#Figuren- und Axtvorbereitung...Routineverarbeitung von Matplotlib
fig = plt.figure(figsize=(8, 6))
fig.patch.set_facecolor('white') #<--Das muss nicht sein. Die Hintergrundfarbe der gesamten Figur wird festgelegt, aber mit Bild gemalt.
ax = fig.add_subplot(1, 1, 1)
#Wenn es ein Bild ist(0,0)Kommt nach links oben,Invertieren, da die positive Richtung der y-Achse nach unten zeigt_yaxis()
# ax.invert_yaxis()Ich dachte, aber ich brauche es nicht.
#x und y sind Berührungskoordinaten, die aus dem Protokoll erhalten werden. Hier werden vorläufig oben links, in der Mitte und unten rechts angegeben.
x = [0, 400, 200]
y = [0, 300, 150]
#Zeichnen Sie Berührungskoordinaten
ax.scatter(x, y, c='red', s=20)
#Stellen Sie ein Bildschirmbild in den Hintergrund
im = Image.open("aaaa.png ")
ax.imshow(im)
#Speichern Sie das Plotbild
plt.savefig("aaaa_plot.png ")
Originalbild (aaaa.png) x ・ x 400x300 Bild entsprechend mit Farbe gemacht
Nach dem Plotten (aaaa_plot.png)
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import pathlib
#Laden Sie das Bild
f = cbook.get_sample_data(pathlib.Path("aaaa.png ").absolute())
im = plt.imread(f)
#Figuren- und Axtvorbereitung...Routineverarbeitung von Matplotlib
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(1, 1, 1)
#Ich weiß nicht warum, aber Axt.invert_yaxis()Die Y-Achse zeigt nach unten, ohne aufzurufen
#x und y sind Berührungskoordinaten, die aus dem Protokoll erhalten werden. Hier werden vorläufig oben links, in der Mitte und unten rechts angegeben.
x = [0, 400, 200]
y = [0, 300, 150]
#Zeichnen Sie Berührungskoordinaten
ax.scatter(x, y, c='red', s=20)
#Stellen Sie ein Bildschirmbild in den Hintergrund
ax.imshow(im)
#Speichern Sie das Plotbild
plt.savefig("aaaa_plot2.png ")
Als ich dachte, dass diese Buße das Gefühl hatte, gesehen zu werden, war sie nahe an ↓. [Exportieren Sie den Teil, der dem regulären Ausdruck entspricht, nach Excel + Plot --Qiita] [2] Zu diesem Zeitpunkt war es nicht erforderlich, es mit dem Bild abzugleichen. + Ich habe Excel ausgewählt, damit andere Personen die Rohdaten bequem anzeigen können.
[matplotlib - So zeigen Sie Bilder und Arrays mit imshow an - Pynote] [1] [Eine sehr Zusammenfassung von Matplotlib-Qiita] [3] [python --matplotlib: Inkompatibel mit Plotkoordinaten in image imshow --stackoverrun] [4] [AxesDivider — Matplotlib 2.0.2 documentation][6] [1]:https://www.pynote.info/entry/matplotlib-imshow [2]:https://qiita.com/int_main_void/items/f59d9e9f2a8d8f9c6b51 [3]:https://qiita.com/nkay/items/d1eb91e33b9d6469ef51 [4]:https://stackoverrun.com/ja/q/10393572 [5]:https://teratail.com/questions/139505 [6]:https://matplotlib.org/mpl_toolkits/axes_grid/users/axes_divider.html
Recommended Posts