Python + OpenCVでの最初からのコンピュータービジョンレッスン

この一連のチュートリアルでは、PythonでOpenCVライブラリを使用する方法を紹介します。しかし、最初に、コンピュータビジョン自体についてのいくつかの言葉。コンピューターはどのように見えますか?ビデオカメラを彼に接続しても、彼が見るという意味ではありません。ゼロと1の束だけを取得します。そして、人は何か意味のあるものを見ます。これらの0と1から意味のあるものをどのように抽出できますか?これはコンピュータビジョンの仕事です。



原則として、コンピュータービジョンアルゴリズムによる画像分析は、次の段階を経ます(ただし、一部の段階がない場合があります)

。1。画像の前処理。この段階で、コントラストを上げる、シャープにする、またはその逆、画像をぼかしてノイズや細部を取り除くなど、画質の向上が見られます。これはすべて、将来の画像の分析を容易にするために必要です。

2.中間ろ過。この段階で、画像上の関心領域を示すため、または特別な画像分析アルゴリズムの作業を容易にするために、さまざまなフィルターが画像に適用されます。

3.特別な兆候(特徴)の明らかに。これは、特別なポイントの選択、輪郭の選択、またはその他の機能です。

4.高レベルの分析。この段階で、画像上で見つかった特徴に従って、特定のオブジェクトが決定され、原則としてそれらの座標が決定されます。また、この段階で、セグメンテーションまたはその他の高レベルの処理が発生する可能性があります。



それでは、ビジネスに取り掛かりましょう。 PyCharm環境でのPython + OpenCVの操作について見ていきます。まず、OpenCVをインストールする必要があります。これを行うには、ImportSettingsに移動します。







次に、ProjectInterpreterで、プラス記号をクリックします。そこでopencvを







探してインストールします。







次に、「Hello、World」(画像を表示するプログラム)を作成します。



import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)
cv2.waitKey(0)
cv2.destroyAllWindows()


      
      







これは、このプログラムが開くウィンドウ







です。プログラムは何をしますか?ファイルから画像をロードして表示し、ESCキーが終了するのを待ちます。

この画像で何か試してみましょう。たとえば、サイズを変更できます。画像の幅を200にしたいとします。これを行うには、画像の高さを計算し、このデータを使用して拡大縮小します。



import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)

#  
final_wide = 200
r = float(final_wide) / my_photo.shape[1]
dim = (final_wide, int(my_photo.shape[0] * r))

#     
resized = cv2.resize(my_photo, dim, interpolation = cv2.INTER_AREA)
cv2.imshow("Resized image", resized)
cv2.waitKey(0)

cv2.destroyAllWindows()


      
      







得られたものは次のとおりです。







多くの場合、画像分析を容易にするために、画像を白黒にする必要があります。方法の1つは、白黒スペースに画像を一度にアップロードすることです。



import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)

cv2.destroyAllWindows()


      
      







すでにロードされている画像を変換する必要がある場合は、cvtColor関数を使用できます。この関数は、画像をある色空間から別の色空間に変換します。




import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)

cv2.destroyAllWindows()


      
      







これがどのように見えるかです:







それで、要約します。

OpenCVをインストールし、ファイルからロードして画像を表示する方法と、カラー画像を拡大縮小して白黒に変換するなどの簡単な変換を行う方法を学びました。このレッスンが「入ってくる」場合、それは続けられます。



All Articles