OpenCVのpyrDown関数を使った画像のダウンサンプリング方法
この記事では、画像のダウンサンプリングを行うプログラムを紹介します。ダウンサンプリングとは、画像の2次元的な構造を保ちながら空間解像度を下げる処理のことで、一般的に画像を縮小表示(ズームアウト)する際に使用されます。ここでは、OpenCVライブラリに用意されている pyrDown() 関数を使って、この処理を簡単に実装する方法を解説します。
元画像

アルゴリズム
ステップ1: 画像を読み込む。 ステップ2: 読み込んだ画像を引数として pyrDown() 関数に渡す。 ステップ3: 処理結果を画面に表示する。
サンプルコード
import cv2
image = cv2.imread('testimage.jpg')
print("Size of image before pyrDown: ", image.shape)
image = cv2.pyrDown(image)
print("Size of image after pyrDown: ", image.shape)
cv2.imshow('DownSample', image)
実行結果
Size of image before pyrDown: (350, 700, 3) Size of image after pyrDown: (175, 350, 3)

解説
pyrDown() 関数を適用する前後で画像サイズを比較すると、幅・高さがそれぞれ半分(350×700 → 175×350)になっていることが確認できます。これは、画像が正しくダウンサンプリングされたことを意味します。
pyrDown() はガウシアンピラミッドの考え方に基づいた関数で、単純にピクセルを間引くのではなく、まずガウシアンフィルタで画像を平滑化してから縮小します。そのため、縮小時に発生しやすいエイリアシング(ギザギザやモアレなどの歪み)を抑えられ、高品質な縮小画像を得ることができます。なお、逆に画像を拡大したい場合は pyrUp() 関数を使用します。
-
PythonとOpenCVで画像をグレースケールに変換する方法【初心者向け解説】
このチュートリアルでは、OpenCVを使って画像をグレースケールに変換する方法を学びます。グレースケーリングとは、RGBやCMYKなどのカラースペースで表現された画像を、濃淡の異なる灰色(白〜黒の階調)に変換する処理のことです。カラー情報を取り除くことで、画像認識やエッジ検出など、さまざまな画像処理の前処理としても広く活用されています。OpenCVのインストールまだOpenCVモジュールをインストールしていない場合は、以下のコマンドでインストールしてください。pip install opencv-pythonグレースケール変換の手順OpenCVのインストールが完了したら、以下の手順に従ってコー
-
PythonとOpenCVを使って画像内の円を検出する方法
OpenCVはPython向けにcv2ライブラリを提供しており、コンピュータビジョンにおけるさまざまな形状解析に活用できます。本記事では、OpenCVを使って画像の中から「円」を検出する方法を解説します。円の検出にはcv2.HoughCircles()関数を使用します。この関数は、ハフ変換(Hough Transform)を用いてグレースケール画像から円を検出するものです。以下の例では、入力画像を読み込んだ後、そのコピーを作成し、ハフ変換を適用することで画像内の円を検出して出力します。構文cv2.HoughCircles(image, method, dp, minDist)各引数の意味は次の