我有幾個(27)用二維數組表示的圖像,我用imshow()查看。我需要放大每個圖像中完全相同的點。我知道我可以手動縮放,但這很乏味而且不夠精確。有沒有辦法以編程方式指定圖像的特定部分來顯示而不是整個東西?Matplotlib imshow縮放功能?
14
A
回答
11
你可以使用plt.xlim
和plt.ylim
設置區域被畫在:
import matplotlib.pyplot as plt
import numpy as np
data=np.arange(9).reshape((3,3))
plt.imshow(data)
plt.xlim(0.5, 1.5)
plt.ylim(0.5,1.5)
plt.show()
3
如果你不需要你的圖像的其餘部分,你可以定義你想要的座標裁剪圖像的功能然後顯示裁剪的圖像。注意:這裏'x'和'y'是視覺x和y(分別爲圖像上的水平軸和垂直軸),這意味着它與實際的x(行)和y(列)的NumPy陣列。
import scipy as sp
import numpy as np
import matplotlib.pyplot as plt
def crop(image, x1, x2, y1, y2):
"""
Return the cropped image at the x1, x2, y1, y2 coordinates
"""
if x2 == -1:
x2=image.shape[1]-1
if y2 == -1:
y2=image.shape[0]-1
mask = np.zeros(image.shape)
mask[y1:y2+1, x1:x2+1]=1
m = mask>0
return image[m].reshape((y2+1-y1, x2+1-x1))
image = sp.lena()
image_cropped = crop(image, 240, 290, 255, 272)
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.imshow(image)
ax2.imshow(image_cropped)
plt.show()
相關問題
- 1. matplotlib:在縮放後重新縮放imshow的顏色
- 2. 縮放功能
- 3. Matplotlib imshow()出錯
- 4. Matplotlib imshow()爲CMAP
- 5. matplotlib imshow force colorrange
- 6. matplotlib imshow未更新
- 7. matplotlib qt imshow動畫
- 8. matplotlib GUI imshow座標
- 9. matplotlib情節和imshow
- 10. imshow for 3D? (Python/Matplotlib)
- 11. imshow()和matplotlib()不能一起工作
- 12. 縮放地塊matplotlib
- 13. Matplotlib自動縮放
- 14. 功能imshow()在MATLAB類雙
- 15. 困難Matlab12b功能imshow()
- 16. HighCharts.StockChart移除縮放功能
- 17. Java健身功能 - 縮放
- 18. 顏色縮放功能
- 19. iphone視頻縮放功能
- 20. 圖形和縮放功能
- 21. Javascript Gmaps縮放功能
- 22. QWidget上的縮放功能
- 23. Jframe上的縮放功能?
- 24. 增量縮放功能
- 25. Highcharts刪除縮放功能
- 26. python matplotlib imshow()自定義tickmarks
- 27. matplotlib imshow subplots sharey break x limits
- 28. Matplotlib保存imshow數組
- 29. Matplotlib imshow與圓形單位
- 30. matplotlib imshow():如何動畫?
謝謝!我意識到我也可以裁剪數組的預顯示,但是您的方法會保留數組的其餘部分。 – Andruf
在精彩的介紹* [Python科學入門](http://scipy-lectures.github.io/)*中,它位於matplotlib部分* [1.4。 Matplotlib:繪圖,1.4.2.4。設置限制](http://scipy-lectures.github.io/intro/matplotlib/matplotlib.html#setting-limits)*。 –