MATLAB उदाहरण जो आपने लिंक किया है, आपको imshow
में कॉल करते समय छवि की वांछित सीमा निर्दिष्ट करनी होगी।
डिफ़ॉल्ट रूप से, matplotlib और MATLAB दोनों छवि के ऊपरी बाएं कोने को मूल स्थान पर रखें, नीचे जाएं और दाईं ओर से दाईं ओर जाएं, और प्रत्येक पिक्सेल को समन्वयित स्थान में 1x1 वर्ग के रूप में सेट करें। यह वही है जो आपकी छवि कर रही है।
आप इसे extent
पैरामीटर के साथ नियंत्रित कर सकते हैं जो [left, right, bottom, top]
सूची का रूप लेता है।
नहीं हद तक का उपयोग कर इस तरह दिखता है:
import matplotlib.pyplot as plt
img = plt.imread("airlines.jpg")
fig, ax = plt.subplots()
ax.imshow(img)
आप देख सकते हैं कि हम एक 1600 x 1200 सेम्युल एल जैक्सन की, हो रही काफी स्पष्ट रूप से, बल्कि सवार सांप के साथ नाराज है कि उनकी एयरलाइन उड़ान
लेकिन अगर हम इस पर दोनों आयाम में 0 से 300 से लेकर एक लाइन साजिश करना चाहते हैं, हम सिर्फ इतना है कि कर सकते हैं:
fig, ax = plt.subplots()
x = range(300)
ax.imshow(img, extent=[0, 400, 0, 300])
ax.plot(x, x, '--', linewidth=5, color='firebrick')
मैं नहीं जानता कि अगर लाइन होगा श्री जैक्सन को अपनी सांप की समस्या से मदद करें। कम से कम, यह चीजों को और कठिन नहीं बनायेगा।
'imshow' बहुत अधिक तर्क ले सकता है जो आपको यह निर्दिष्ट करने की अनुमति देता है कि छवि कहां रखा गया है और यह समन्वय-स्थान में है। डिफ़ॉल्ट रूप से, ऊपरी बाएं कोने (0, 0) पर रखा जाता है और प्रत्येक पिक्सेल चौड़ाई और ऊंचाई में 1x1 इकाइयां होती है। –