pythonで画像を読み取り、表示する3つの方法(opencv、matplotlib、PILライブラリ)


前言
画像処理を行う際には、画像を読み取って表示するという操作がよく使われるので、ここではpythonで画像を読み取って表示する3つの方法をまとめ、それぞれopencv、matplotlib、PILライブラリに基づいて実現し、コード例を紹介します。
OpenCV
OpenCVは、BSDライセンス(オープンソース)に基づいて発行されたクロスプラットフォームコンピュータビジョンとマシン学習ソフトバンクで、Linux、Windows、Android、Mac OS OS OS OSで実行できます。軽量で高効率――一連のC関数と少量のC++類から構成されており、Python、Ruby、MATLABなどの言語のインタフェースを提供して、画像処理とコンピュータ視覚に関する多くの汎用アルゴリズムを実現しています。

import matplotlib.pyplot as plt # plt       
import cv2

#opencv        [B,G,R], matplotlib       [R,G,B],            
img1 = cv2.imread('./Lena.png')[:,:,(2,1,0)] #               lena.png
img2 = cv2.imread('./Lena.png')[:,:,(2,1,0)]

#    
plt.rcParams['font.sans-serif'] = ['SimHei']  #     
plt.subplot(121)
#imshow()       ,    ,show()      
plt.imshow(img1)

plt.title('  1')
#      
plt.axis('off')

#  2
plt.subplot(122)
plt.imshow(img2)
plt.title('  2')
plt.axis('off')

# #         
plt.tight_layout()
#    
plt.show()
Matplotlib
MatplotlibはPythonの絵図庫です。これはNumPyと一緒に使用でき、有効なMatLabオープンソース代替案を提供しています。また、PyQtやwxPythonなどのグラフィックパッケージと一緒に使用することもできます。

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

img1 = mpimg.imread('./Lena.png') #               lena.png
img2=mpimg.imread('./Lena.png')

#    
plt.rcParams['font.sans-serif'] = ['SimHei']  #     
plt.subplot(121)
#imshow()       ,    ,show()      
plt.imshow(img1)

plt.title('  1')
#      
plt.axis('off')

#  2
plt.subplot(122)
plt.imshow(img2)
plt.title('  2')
plt.axis('off')

# #         
plt.tight_layout()
#    
plt.show()
PIL
PIL(Python Image Library)はpythonの第三者画像処理ライブラリであるが、その強力な機能と多くの使用人数のため、ほぼpythonオフィシャル画像処理ライブラリとして認識されている。
PILは画像処理に関することがたくさんできます。
  • 画像ファイリング(Image Archives)。
  • 画像展示(Image Display)。
  • 画像処理(Image Processing)。
  • 
    import matplotlib.pyplot as plt # plt       
    from PIL import Image
    
    img1 = Image.open('./Lena.png')
    img2 = Image.open('./Lena.png')
    
    #    
    plt.rcParams['font.sans-serif'] = ['SimHei']  #     
    plt.subplot(121)
    plt.imshow(img1)
    plt.title('  1')
    #      
    plt.axis('off')
    
    #  2
    plt.subplot(122)
    plt.imshow(img2)
    plt.title('  2')
    plt.axis('off')
    
    # #         
    plt.tight_layout()
    #    
    plt.show()
    
    実行結果

    締め括りをつける
    ここでは、pythonについて画像を読み取り、表示する3つの方法についての記事を紹介します。これに関連して、より多くのpythonが表示されている画像の内容を読み取ります。以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。