サムネがコーヒーの記事は書きかけです。

【研究用スクリプト】ソーベルフィルタで明度関数のピークを検出するスクリプト

以下の画像において、鋭いピークを持つ箇所を検出するためにソーベルフィルタを使用して画像を処理します。

import cv2
import numpy as np

def detect_peak(src: np.ndarray) -> np.ndarray:
    g_x, g_y = cv2.Sobel(src, cv2.CV_64F, 1, 0, ksize=3), cv2.Sobel(src, cv2.CV_64F, 0, 1, ksize=3)
    Nabla_2 = np.sqrt(g_x**2 + g_y**2)
    Nabla_2_norm = cv2.normalize(Nabla_2, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8U)
    threshold = 60  
    Nabla_2_norm[Nabla_2_norm <= threshold] = 0
    return Nabla_2_norm


image = cv2.imread('img_raw.png', cv2.IMREAD_GRAYSCALE)

cv2.imwrite("a.png",detect_peak(image))

実行結果

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です