Pythonのコンピュータビジョンライブラリopencvの詳細説明

PHPz
リリース: 2023-06-10 20:09:05
オリジナル
3310 人が閲覧しました

コンピューター ビジョンは、コンピューターを使用して人間の視覚システムの機能をシミュレートおよび実現することに特化した人工知能の分野です。現代の科学技術の発展に伴い、コンピュータービジョンはロボット、セキュリティ、医療、自動運転などのさまざまな分野で広く活用されています。

OpenCV (オープン ソース コンピューター ビジョン) は、インテル コーポレーションによって開始および保守されているクロスプラットフォームのオープンソース コンピューター ビジョン ライブラリです。画像検出、特徴抽出、ターゲット追跡、顔認識などを含む、豊富な画像処理およびコンピュータビジョン機能を提供します。機械学習とデータサイエンスの分野での Python の人気により、Python の OpenCV バージョンも大きな注目を集めています。この記事ではPythonでのOpenCVの使い方と具体的な実装について紹介します。

OpenCV のインストール

OpenCV を使用する前に、関連するライブラリと依存関係をインストールする必要があります。 Python では、pip コマンドを使用してインストールできます。

pip install opencv-python

pip install opencv-contrib-python

これら 2 つのコマンドは、OpenCV の基本バージョンと拡張バージョンをそれぞれインストールします。拡張バージョンには、次のものが含まれています。このバージョンでは使用できない基本機能。

画像の読み取りと表示

OpenCV を使用して画像を処理する最初のステップは、画像をプログラムに読み取ることです。 OpenCV には画像を読み取るための cv2.imread() 関数が用意されており、読み取られた画像は NumPy 配列の形式で保存されます。

import cv2

img = cv2.imread('example.jpg')

画像を読み取った後、cv2.imshow() 関数を使用して、画像 。この関数は 2 つのパラメータを受け取ります。最初のパラメータはウィンドウの名前で、2 番目のパラメータは表示されるイメージです。

cv2.imshow('example', img)

cv2.waitKey() 関数を使用して、ユーザーがいずれかのキーを押すのを待ちます。ウィンドウは自動的に閉じます。

cv2.waitKey(0)

画像のサイズは、img.shape を使用して取得できます。これは 3 つの要素 (高さ、幅、深さ) を返します。ここで、高さは画像の高さを表します。画像、幅は画像の幅を表し、深さはピクセルあたりのビット数を表します。深度は、画像がカラー画像の場合は 3、グレースケール画像の場合は 1 です。

画像処理と操作

OpenCVは豊富な画像処理と操作機能を提供します。このうち最も単純な処理は、カラー画像をグレースケール画像に変換するグレースケール処理であり、これには cv2.cvtColor() 関数を使用する必要があります。

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cv2.COLOR_BGR2GRAY はグレースケール処理で定義されます。ここで、cv2 は OpenCV モジュールの名前です。 OpenCV の組み込み画像形式は一般的な RGB ではなく BGR であるため、パラメータの順序は BGR です。

グレースケール処理以外にも、画像サイズの調整、回転、平行移動など、よく使われる操作機能がいくつかあります。

画像拡大縮小操作

resize = cv2.resize(img, (600, 600), interpolation=cv2.INTER_AREA)

画像反転操作

#反転 = cv2.flip(img, -1)

画像回転操作

(行数, 列数) = img.shape[:2]

M = cv2.getRotationMatrix2D ((列数) / 2, rows / 2), 45, 1)
rotated = cv2.warpAffine(img, M, (cols, rows))

画像の特徴抽出と検出

#In OpenCV は、基本的な画像処理と操作に加えて、さまざまな特徴抽出と検出機能も提供します。これらの関数は、画像内の角、線、輪郭などの特徴を検出して抽出できます。

コーナー検出は、マシン ビジョンやコンピューター ビジョンの分野で広く使用されているテクノロジであり、画像マッチング、ターゲット追跡、3 次元再構成などのアプリケーションに使用できます。 OpenCV は、コーナー検出を完了するための cv2.goodFeatureToTrack() 関数を提供します。

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

corners = cv2.good featuresToTrack(gray, 100, 0.01, 10)

corners = np.int0(corners)

このうち、パラメータ grey はグレースケール処理された画像、パラメータ 100 は検出されたコーナー点の数を表し、パラメータ 0.01 はコーナー品質係数を表すために使用されるqualityLevel、パラメータ 10 は minDistance です。 2 つの角点の間の最小距離を表します。

さらに、SIFT、SURF、ORB などの他の特徴検出方法もあります。

結論

OpenCV は、さまざまな分野で広く使用されている強力なコンピューター ビジョン ライブラリです。 Python では、OpenCV を使用して画像処理とコンピューター ビジョンのタスクを簡単に実装できます。この記事では、Python での OpenCV の基本的な使い方と一般的な操作を紹介します。

以上がPythonのコンピュータビジョンライブラリopencvの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート