podobnie jak w Przykład MATLAB, z którym się łączyłeś, musisz określić wymagany rozmiar obrazu, gdy zadzwonisz pod numer imshow
.
Domyślnie matplotlib i MATLAB umieszczają lewy górny róg obrazu, początek, dół i na prawo stamtąd, i ustawia każdy piksel jako kwadrat 1x1 w przestrzeni współrzędnych. Oto, co robi twój wizerunek. Można to kontrolować za pomocą parametru , który ma postać listy [left, right, bottom, top]
.
Nie stosując zakres wygląda następująco:
import matplotlib.pyplot as plt
img = plt.imread("airlines.jpg")
fig, ax = plt.subplots()
ax.imshow(img)
![enter image description here](https://i.stack.imgur.com/UIU28.png)
Widać, że mamy 1600 x 1200 z Samuelem L. Jacksonem się, szczerze mówiąc, raczej zirytowany z wężem na pokładzie jego lot lotniczy.
Ale jeśli chcemy wykreślić linię w zakresie od 0 do 300 zarówno w wymiarze ponad to, co możemy zrobić, tylko że:
fig, ax = plt.subplots()
x = range(300)
ax.imshow(img, extent=[0, 400, 0, 300])
ax.plot(x, x, '--', linewidth=5, color='firebrick')
![enter image description here](https://i.stack.imgur.com/0FPTg.png)
nie wiem, czy linia pomóż Panu Jacksonowi w jego problemie z wężem. Przynajmniej nie sprawi, że sprawy będą trudniejsze.
'imshow' może przyjmować o wiele więcej argumentów, które pozwalają określić położenie obrazu i jego zakres w przestrzeni współrzędnych. Domyślnie lewy górny róg jest ustawiony na (0, 0), a każdy piksel to 1x1 jednostek szerokości i wysokości. –