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

Pythonを使用して画像を読む?


OpenCVを使用した画像処理

OpenCV(オープンソースコンピュータービジョン)は、基本的に機械学習とコンピュータービジョンのために開発されたオープンソースプログラミングライブラリです。コンピュータビジョンアプリケーションで動作し、商用製品での機械学習の使用を高速化するための共通のインフラストラクチャを提供します。

コンピュータービジョンと機械学習の両方に最適化された2.5千を超えるアルゴリズムは、古典的で最先端のアルゴリズムです。非常に多くのアルゴリズムを使用して、顔の検出と認識、オブジェクトの識別、ビデオ内の人間の行動の分類、カメラの動きの追跡、画像の結合によるシーン全体の高解像度画像の生成など、さまざまな目的でライブラリを使用できます。

ここでは、OpenCVライブラリとPythonを使用して画像を読み取って表示する方法を説明します。これは、cv2およびNumpyモジュールを使用して実装されます。

numpyモジュールはPythonPackageIndex(PyPI)からダウンロードできます。

$ pip install numpy

画像を読む

cv2.imread()関数を使用して画像を読み取ります。画像は現在の作業ディレクトリに配置する必要があります。そうしないと、絶対パスを指定する必要があります。

import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('Top-bike-wallpaper.jpg',0)

画像を表示する

ウィンドウに画像を表示するには、cv2.imshow()関数を使用します。

#Display the image
cv2.imshow('image',img)
#key binding function
cv2.waitKey(0)
#Destroyed all window we created earlier.
cv2.destroyAllWindows()

上記のコードを実行すると、ウィンドウのスクリーンショットは次のようになります。

Pythonを使用して画像を読む?

画像を書く

関数cv2.imwrite()を使用します 画像を保存します。

最初の引数はファイル名、2番目の引数は保存する画像です。

cv2.imwrite('messigray.png',img)

まとめる-

import numpy as np
import cv2

#Read the Image
# Load an color image in grayscale
img = cv2.imread('Top-bike-wallpaper.jpg',0)

#Display the image
cv2.imshow('image',img)

#key binding function
k = cv2.waitKey(0)

# wait for ESC key to exit
if k == 27:
   cv2.destroyAllWindows()
# wait for 's' key to save and exit
elif k == ord('s'):
   cv2.imwrite('myBike.jpg',img)
   cv2.destroyAllWindows()

「s」を押して画像を保存するか、「ESC」キーを押して保存せずに終了します。

Python Imaging Library(PIL)の使用

Python Imaging Library(PIL)は、Pythonの画像操作ライブラリです。 pipを使用してPILライブラリをインストールします

$ pip install Pillow

PILからインポート画像、ImageFilter

#Read image
im = Image.open( 'myBike.png' )

#Display image
im.show()

#Applying a filter to the image
im_sharp = im.filter( ImageFilter.SHARPEN )

#Saving the filtered image to a new file
im_sharp.save( 'another_Bike.jpg', 'JPEG' )

出力

Pythonを使用して画像を読む?

画像はデフォルトの場所に保存されます。現在作業中のディレクトリとウィンドウのスクリーンショットに画像が表示されます。


  1. PythonOpenCvモジュールを使用したヒストグラムの等化

    これは、画像のヒストグラムを使用してコントラスト調整を行う画像処理の方法です。 実際、この方法は通常、多くの画像のグローバルコントラストを増加させます。特に、画像の使用可能なデータが近いコントラスト値で表される場合、この調整により、強度をヒストグラム上でより適切に分散でき、ローカルコントラストの低い領域が可能になります。より高いコントラストを得る。 OpenCVにはこれを行う関数cv2.equalizeHist()があり、その入力は単なるグレースケール画像であり、出力はヒストグラム均等化された画像です。 この手法は、画像のヒストグラムが特定の領域に限定されている場合に適しています。強度の

  2. PythonでOpenCVを使用した画像の侵食と拡張

    この問題では、PythonがOpenCVモジュールを使用して侵食や膨張などの形態学的操作を実行する方法を確認します。 OpenCVライブラリは、主にコンピュータビジョン用に設計されています。オープンソースです。もともとはIntelによって設計されました。これは、オープンソースBSDライセンスの下で無料で使用できます。 OpenCV機能を使用するには、 pipを使用してダウンロードする必要があります 。 sudo pip3 install opencv-python Erosion Imageとは何ですか? 侵食では、前景オブジェクトの境界を侵食します。これは、画像から小さなホワイトノ