अजगर के साथ एक छवि प्रदर्शित करें


107

मैंने निम्नलिखित कोड के साथ IPython.display का उपयोग करने की कोशिश की:

from IPython.display import display, Image
display(Image(filename='MyImage.png'))

मैंने निम्नलिखित कोड के साथ matplotlib का उपयोग करने की भी कोशिश की:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
plt.imshow(mpimg.imread('MyImage.png'))

दोनों ही मामलों में, कुछ भी प्रदर्शित नहीं होता, त्रुटि संदेश भी नहीं।

जवाबों:


210

यदि आप matplotlib का उपयोग कर रहे हैं और अपनी इंटरेक्टिव नोटबुक में छवि दिखाना चाहते हैं, तो निम्न प्रयास करें:

%pylab inline
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img = mpimg.imread('your_image.png')
imgplot = plt.imshow(img)
plt.show()

आपके उत्तर के लिए धन्यवाद, यह लगभग काम करता है :-) छवि प्रदर्शित की जाती है, लेकिन ग्रे स्तरों को एक फायर लट का उपयोग करके प्रतिस्थापित किया जाता है। कोई उपाय?
FiReTiTi

3
कोलोरैप को स्पष्ट रूप से परिभाषित करने का प्रयास करें: plt.imshow (lum_img, cmap = "grey")
जो बाथेल

3
मेरी समझ में, अंतिम plt.show () कमांड डिस्प्ले का उत्पादन करता है। इससे पहले, आप छवि में परतों को जोड़कर, भूखंड में जोड़ सकते हैं। मैं एक संदर्भ के रूप में matplotlib छवि ट्यूटोरियल की सिफारिश करता हूं: matplotlib.org/users/image_tutorial.html
जो बाथेल

5
आपके उत्तर के लिए धन्यवाद, अब यह पूरी तरह से काम करता है! संभावित पाठकों के लिए बस थोड़ा सा विवरण, यह "ग्रे" के बजाय "ग्रे" है।
FiReTiTi

नहीं, ग्रे सही और मूल वर्तनी है। ग्रे को अंग्रेजी के कुछ विचलन में अपनाया गया है इसलिए संयुक्त राज्य अमेरिका जैसे देशों में अधिक आम है।
perfo

39

यदि आप उपयोग करते हैं matplotlib, तो आपको छवि का उपयोग करने की आवश्यकता है plt.show()जब तक कि आप इंटरैक्टिव मोड में नहीं हैं। उदाहरण के लिए:

plt.figure()
plt.imshow(sample_image) 
plt.show()  # display it

एक अन्य उत्तर को पढ़ते हुए, मुझे सिर्फ इतना समझ में आया कि मुझे कोड को बदलने के बजाय पहले से मौजूद plt.show () जोड़ना होगा। आपकी सहायता के लिए धन्यवाद।
FiTeTiTi

मुझे लगता है कि यह स्वीकार किए गए उत्तर की तुलना में प्रश्न का सटीक उत्तर देता है।
प्रसाद राघवेंद्र

23

बहुत सरल तरीके से, आप उसी का उपयोग कर सकते हैं

from PIL import Image

image = Image.open('image.jpg')
image.show()

1
आपके सहयोग के लिए धन्यवाद। मैंने PIL इंस्टॉल कर लिया है और अब यह काम करता है। किसी भी विचार क्यों मैं दो तरीकों की कोशिश की काम नहीं किया?
FiTeTiTi

यदि पीआईएल स्थापित करने में विफल रहा (जैसा कि मेरे लिए मामला था), पिलो की कोशिश करें, तो यह मेरे लिए एक आकर्षण की तरह काम करता था।
mrk

1
मुझे आश्चर्य है कि import Imageबयान कैसे काम करता है; क्या यह नहीं होना चाहिए from PIL import Image?
लेज़्ज़लो ट्रेज़्काई

यह समाधान आवश्यक रूप से फ़ाइल डिस्क्रिप्टर को बंद नहीं करता है। इसके बजाय, इसे एक संदर्भ प्रबंधक के साथ उपयोग करें:with Image.open('image.jpg') as im: im.show()
लास्ज़लो ट्रेज़्काई

यह Imageपैकेज क्या है ?
लुई यांग

7

छवि पर अधिक ऑपरेशन के लिए opencv-python का उपयोग करना तेज़ है:

import cv2
import matplotlib.pyplot as plt

im = cv2.imread('image.jpg')
im_resized = cv2.resize(im, (224, 224), interpolation=cv2.INTER_LINEAR)

plt.imshow(cv2.cvtColor(im_resized, cv2.COLOR_BGR2RGB))
plt.show()

4

यह सरल है निम्नलिखित छद्म कोड का उपयोग करें

from pylab import imread,subplot,imshow,show

import matplotlib.pyplot as plt

image = imread('...')  // choose image location

plt.imshow(image)

plt.show() // यह आपको कंसोल पर छवि दिखाएगा।


4

आपका पहला सुझाव मेरे लिए काम करता है

from IPython.display import display, Image
display(Image(filename='path/to/image.jpg'))

यह हमेशा पहले प्रदर्शित करेगा यदि अन्य भूखंड भी हैं, तो ऐसा क्यों है?
क्रिस्टोस करापापास

1
निश्चित नहीं। मैं एक ipython विशेषज्ञ नहीं हूँ। एक छवि दिखाने के कई तरीके हैं जैसा कि आप यहां दिए गए उत्तरों से देख सकते हैं।
हैरी मोरेनो

3

Jupyter नोटबुक का उपयोग करना, कोड निम्न के रूप में सरल हो सकता है।

%matplotlib inline
from IPython.display import Image
Image('your_image.png')

कभी-कभी आप एक लूप के लिए छवियों की एक श्रृंखला प्रदर्शित करना चाहेंगे, जिस स्थिति में आप संयोजन करना displayऔर Imageइसे काम करना पसंद करेंगे ।

%matplotlib inline
from IPython.display import display, Image
for your_image in your_images:
    display(Image('your_image'))

2

तुम्हारा कोड:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

यह क्या होना चाहिए:

plt.imshow(mpimg.imread('MyImage.png'))
File_name = mpimg.imread('FilePath')
plt.imshow(FileName)
plt.show()

आप plt.show()तब तक गायब रहते हैं जब तक कि आप जुपिटर नोटबुक में नहीं होते हैं, अन्य आईडीई स्वचालित रूप से भूखंडों को प्रदर्शित नहीं करते हैं, इसलिए आपको plt.show()हर बार जब आप किसी भूखंड को प्रदर्शित करना चाहते हैं या किसी मौजूदा भूखंड को अनुवर्ती कोड में परिवर्तन करना चाहते हैं, का उपयोग करना होगा।



1

Jupyter नोटबुक पीआईएल छवि दृश्य के लिए समाधान मनमाने ढंग से संख्या के साथ छवि:

def show(*imgs, **kwargs):
    '''Show in Jupyter notebook one or sequence of PIL images in a row. figsize - optional parameter, controlling size of the image.
    Examples:
    show(img)
    show(img1,img2,img3)
    show(img1,img2,figsize=[8,8])
    '''
    
    if 'figsize' not in kwargs:
        figsize = [9,9]
    else:
        figsize = kwargs['figsize']
    
    fig, ax = plt.subplots(1,len(imgs),figsize=figsize)
    if len(imgs)==1:
        ax=[ax]
    
    for num,img in enumerate(imgs):
        ax[num].imshow(img)
        ax[num].axis('off')
        
    tight_layout()
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.