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

OpenCVのGaussianBlur()関数を使って画像をぼかす方法

このプログラムでは、OpenCVが提供するGaussianBlur()関数を使用して、画像にぼかし(ブラー)を適用する方法を解説します。

ガウシアンブラーとは?

ガウシアンブラー(Gaussian Blur)とは、ガウス関数(正規分布関数)を利用して画像をぼかす処理のことです。画像内のノイズを除去したり、ディテール(細部)を滑らかに抑えたりする目的で、PhotoshopやGIMPなどのグラフィックソフトウェアで広く使われている基本的なフィルタです。また、物体検出などの前処理としても頻繁に活用されています。

処理の流れ(アルゴリズム)

ステップ1:cv2モジュールをインポートする。
ステップ2:元画像を読み込む。
ステップ3:cv2.GaussianBlur()関数を使い、画像とカーネルサイズを引数として渡してぼかしを適用する。
ステップ4:結果の画像を表示する。

元画像

OpenCVのGaussianBlur()関数を使って画像をぼかす方法

サンプルコード

import cv2
image = cv2.imread("testimage.jpg")
Gaussian = cv2.GaussianBlur(image, (7,7), 0)
cv2.imshow("Gaussian Blur", Gaussian)

コードのポイント

  • cv2.imread():指定したファイルパスから画像を読み込みます。
  • (7,7):ガウシアンカーネルのサイズを表します。この値は奇数である必要があり、数値が大きいほど強くぼかされます。
  • 第3引数の「0」:X方向の標準偏差(sigmaX)を指定します。0を指定すると、カーネルサイズから自動的に計算されます。

実行結果

ガウシアンブラー適用後の画像:

OpenCVのGaussianBlur()関数を使って画像をぼかす方法

元画像と比較すると、輪郭が柔らかくなり、全体的に滑らかな印象になっていることが確認できます。カーネルサイズを変更することで、ぼかしの強さを自由に調整できるので、ぜひいろいろな値を試してみてください。

  1. OpenCV×Pythonで画像をぼかす方法|ガウシアンフィルタの基本と実装例

    OpenCVは、画像処理に最も優れたPythonパッケージの一つです。信号にノイズが混入するのと同じように、画像にもさまざまな種類のノイズが含まれており、その主な発生源はカメラセンサーなど画像取得元そのものです。PythonのOpenCVパッケージには、画像を滑らかにする「スムージング(平滑化)」、いわゆる「ぼかし(ブラー)」処理を行うための機能が用意されています。 本記事では、その中でも特に一般的な手法であるガウシアンフィルタ(Gaussian Filter)を使った画像のぼかし方を解説します。ガウシアンフィルタを使用すると、画像内のシャープなエッジ(輪郭)を滑らかにしながら、過度なぼかしを

  2. OpenCVを使って画像・動画のエッジを検出するPythonプログラムの書き方

    この記事では、Pythonを使って画像や動画ファイルからエッジ(輪郭)を検出する方法を解説します。エッジ検出には、コンピュータビジョン向けに設計されたオープンソースライブラリ「OpenCV」を使用します。OpenCVはもともとIntelによって開発されたライブラリで、BSDライセンスのもとで無料で利用できます。OpenCVの機能を使うには、pipでインストールを行います。インストール時にNumPyモジュールも自動的にダウンロードされるため、別途用意する必要はありません。sudo pip3 install opencv-python今回の入力には動画ファイルを使用しますが、Webカメラを接続すれ