OpenCVで画像にブラックハット(BlackHat)操作を実行する方法
この記事では、OpenCVを使用して画像に対してブラックハット(BlackHat)操作を実行する方法を解説します。ブラックハット変換はモルフォロジー演算の一種で、明るい背景の中にある暗い対象物を強調したい場合に特に有効です。処理には cv2.morphologyEx(image, cv2.MORPH_BLACKHAT, kernel) 関数を使用します。
元画像

アルゴリズム
ステップ1:cv2 をインポートします。
ステップ2:画像を読み込みます。
ステップ3:カーネルサイズを定義します。
ステップ4:画像とカーネルを cv2.morphologyEx() 関数に渡します。
ステップ5:出力結果を表示します。
サンプルコード
import cv2
image = cv2.imread('image_test.jpg')
filter_size = (5,5)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, filter_size)
image = cv2.morphologyEx(image, cv2.MORPH_BLACKHAT, kernel)
cv2.imshow('BlackHat', image)出力結果

-
PythonとOpenCVで実現する画像の加算とブレンディング
画像処理において、画像は行列(マトリクス)として扱われます。行列の中身は画像の種類によって異なり、二値画像(0と1)、グレースケール画像(0〜255)、RGB画像(各チャンネル0〜255)などがあります。したがって、2枚の画像を「加算する」ということは、対応する位置にある画素同士の行列を単純に足し合わせることを意味します。 OpenCVライブラリには、画像を加算するための関数 cv2.add() が用意されています。ただし、画像の加算を行う際は、2枚の画像のサイズ(幅と高さ)が同一である必要がある点に注意してください。また、cv2.add() は飽和演算(サチュレーション)を行うため、計算結果
-
Python・OpenCVでヒストグラム平坦化を実装する方法|cv2.equalizeHist()の使い方
ヒストグラム平坦化(Histogram Equalization)とは ヒストグラム平坦化は、画像処理において画像のヒストグラムを利用してコントラストを調整する手法です。 この手法は、多くの画像の全体的なコントラストを向上させる効果があります。特に、画像内の有効なデータが近いコントラスト値で表現されている場合に威力を発揮します。この調整を行うことで、輝度値がヒストグラム上により均等に分布するようになり、局所的にコントラストが低い領域でも高いコントラストを得られるようになります。 OpenCVの cv2.equalizeHist() 関数 OpenCVには、この処理を実行するための関数 cv2