Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでの画像処理?


Pythonには、-

を含む画像処理用のライブラリが多数用意されています。
  • OpenCV −画像処理ライブラリは主にリアルタイムのコンピュータビジョンに焦点を当てており、2Dおよび3D機能ツールキット、顔とジェスチャーの認識、人間とコンピュータの相互作用、モバイルロボット工学、物体識別などの幅広い分野に適用されます。

  • NumpyおよびScipyライブラリ −画像の操作と処理用。

  • Sckikit −画像処理用の多くのアルゴリズムを提供します。

  • Python Imaging Library(PIL) −ツムネイルの作成、サイズ変更、回転、異なるファイル形式間の変換など、画像に対して基本的な操作を実行するため。

このセクションでは、Pythonでの画像処理の基本をいくつか見ていきます。

必要なライブラリをインストールする

最初のステップは、画像処理に使用したいopenCV、枕などの必要なライブラリをインストールすることです。 -

のように、pipを使用して必要なライブラリをインストールできます。
$pip install pillow

これで、画像を操作できるようになりました。

画像:Open()とshow()

まず、ファイル/画像を開いて表示します。以下のように表示しながら画像を回転させることができます-

#Import required library
from PIL import Image

#Open Image
im = Image.open("TajMahal.jpg")

#Image rotate & show
im.rotate(45).show()

出力

Pythonでの画像処理?

上記の変数imのように、は枕オブジェクトです。開いた画像に関する情報を取得できます-

>>> im
<PIL.JpegImagePlugin.JpegImageFile image mode = RGB size = 1000x667 at 0x65AB990<
>>> im.size
(1000, 667)
>>> im.format
'JPEG'
>>>

変換してSave()画像

以下のように、画像の形式をある形式から別の形式に変更できます-

>>> im.save('TajMahal.png')

これで、フォルダが表示された場合、2つの異なる形式の同じ画像があります。

サイズ変更-サムネイル()

枕のthumbnail()メソッドを使用して画像のサイズを変更できます-

>>> im.thumbnail ((300, 300))
>>> im.show()

画像は次のように変化します:

Pythonでの画像処理?

グレースケール画像への変換-convert()

元のカラー画像からグレースケール画像を作成できます。

>>> TajMahal_gray = Image.open('TajMahal.jpg').convert('L')
>>> TajMahal_gray.show()

ここで、「L」は「明るい」を表します。

Pythonでの画像処理?


上記の例は、PythonのPILライブラリからのものです。画像処理には、open-cv、matplotlib、numpyなどの他のライブラリを使用できます。以下は、画像処理のための非常に強力なライブラリの使用を示すためのサンプルプログラムの一部です。

画像をグレースケールで表示する

#Import required library
import cv2
import numpy as np
from matplotlib import pyplot as plt

im = cv2.imread('TajMahal.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('image',im)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

Pythonでの画像処理?

画像をマークするための目盛り/線で上記のプログラムを書く別の方法。

import cv2
import numpy as np
from matplotlib import pyplot as plt

im = cv2.imread('TajMahal.jpg',cv2.IMREAD_GRAYSCALE)

plt.imshow(im, cmap = 'gray', interpolation = 'bicubic')
# to hide tick values on X and Y axis
plt.xticks([]), plt.yticks([])
plt.plot([200,300,400],[100,200,300],'c', linewidth = 5)
plt.show()

出力

Pythonでの画像処理?


  1. Pythonでのフォトモザイクの実装

    フォトモザイクは、画像を正方形のグリッドに分割できる手法です。各正方形は、他の画像や色に置き換えられます。したがって、実際の画像を特定の距離から見たい場合は実際の画像を見ることができますが、近づくと、さまざまな色のブロックのグリッドを見ることができます。 この場合、photomosaicと呼ばれるPythonモジュールを使用しています。このモジュールを使用すると、いくつかのフォトモザイクを簡単に作成できます。インストールするには、このリンクをたどってください。 scikit learnもダウンロードします モジュール。 sudo pip3 install photomosaic この

  2. Pythonで太陽画像をプロットする

    Pythonでは、ソーラーイメージを作成するためのSunPyパッケージを提供しています。このパッケージには、さまざまな太陽観測所や太陽実験室からの陽子/電子フラックスの太陽データであるさまざまなファイルが含まれています。 pip install sunpyを使用する コマンド、sunpyパッケージをインストールできます。 ここでは、サンプルのAIA画像をプロットします。 AIAはAtmosphericImagingAssemblyです。これはSDOのもう1つの計器盤です。 ここでは、sunpy.Map()関数を使用して、サポートされているデータ製品の1つからマップを作成します。 サンプ