OpenCVを使って画像のクロージング(閉じる)操作を実行する方法
このプログラムでは、cv2.morphologyEx() 関数を使用して、画像に対するクロージング(Closing/閉じる)操作を実行します。クロージングはモルフォロジー変換の一種で、前景に含まれる小さな穴や隙間を埋め、背景側の小さな黒い領域を前景へと変換する処理です。さらに、この手法は画像の中から特定の形状を検出したい場合にも応用できます。
クロージングを実行するには、次の形式で関数を呼び出します。cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
第1引数に入力画像、第2引数に処理の種類(cv2.MORPH_CLOSE)、第3引数にカーネル(構造要素)を指定します。
元画像

アルゴリズム
ステップ1:cv2 と numpy をインポートします。 ステップ2:画像を読み込みます。 ステップ3:カーネルを定義します。 ステップ4:画像とカーネルを cv2.morphologyEx() 関数に渡します。 ステップ5:出力結果を表示します。
サンプルコード
import cv2
import numpy as np
image = cv2.imread('testimage.jpg')
kernel = np.ones((5,5), np.uint8)
image = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
cv2.imshow('Closing', image)このコードでは np.ones((5,5), np.uint8) によって 5×5 の正方形カーネルを生成しています。カーネルのサイズを大きくすると穴を埋める効果が強くなり、小さくすると控えめな処理になります。用途に応じて調整してください。なお、ウィンドウを確実に表示・保持したい場合は、最後に cv2.waitKey(0) を追加するとよいでしょう。
実行結果

-
PythonとOpenCVを使って画像内の円を検出する方法
OpenCVはPython向けにcv2ライブラリを提供しており、コンピュータビジョンにおけるさまざまな形状解析に活用できます。本記事では、OpenCVを使って画像の中から「円」を検出する方法を解説します。円の検出にはcv2.HoughCircles()関数を使用します。この関数は、ハフ変換(Hough Transform)を用いてグレースケール画像から円を検出するものです。以下の例では、入力画像を読み込んだ後、そのコピーを作成し、ハフ変換を適用することで画像内の円を検出して出力します。構文cv2.HoughCircles(image, method, dp, minDist)各引数の意味は次の
-
Python・OpenCVでヒストグラム平坦化を実装する方法|cv2.equalizeHist()の使い方
ヒストグラム平坦化(Histogram Equalization)とは ヒストグラム平坦化は、画像処理において画像のヒストグラムを利用してコントラストを調整する手法です。 この手法は、多くの画像の全体的なコントラストを向上させる効果があります。特に、画像内の有効なデータが近いコントラスト値で表現されている場合に威力を発揮します。この調整を行うことで、輝度値がヒストグラム上により均等に分布するようになり、局所的にコントラストが低い領域でも高いコントラストを得られるようになります。 OpenCVの cv2.equalizeHist() 関数 OpenCVには、この処理を実行するための関数 cv2