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()
上記のコードを実行すると、ウィンドウのスクリーンショットは次のようになります。
画像を書く
関数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' )
出力
画像はデフォルトの場所に保存されます。現在作業中のディレクトリとウィンドウのスクリーンショットに画像が表示されます。
-
PythonOpenCvモジュールを使用したヒストグラムの等化
これは、画像のヒストグラムを使用してコントラスト調整を行う画像処理の方法です。 実際、この方法は通常、多くの画像のグローバルコントラストを増加させます。特に、画像の使用可能なデータが近いコントラスト値で表される場合、この調整により、強度をヒストグラム上でより適切に分散でき、ローカルコントラストの低い領域が可能になります。より高いコントラストを得る。 OpenCVにはこれを行う関数cv2.equalizeHist()があり、その入力は単なるグレースケール画像であり、出力はヒストグラム均等化された画像です。 この手法は、画像のヒストグラムが特定の領域に限定されている場合に適しています。強度の
-
PythonでOpenCVを使用した画像の侵食と拡張
この問題では、PythonがOpenCVモジュールを使用して侵食や膨張などの形態学的操作を実行する方法を確認します。 OpenCVライブラリは、主にコンピュータビジョン用に設計されています。オープンソースです。もともとはIntelによって設計されました。これは、オープンソースBSDライセンスの下で無料で使用できます。 OpenCV機能を使用するには、 pipを使用してダウンロードする必要があります 。 sudo pip3 install opencv-python Erosion Imageとは何ですか? 侵食では、前景オブジェクトの境界を侵食します。これは、画像から小さなホワイトノ