一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

邊緣檢測之孤立點檢測及Python實現(xiàn)

 mediatv 2021-12-02

1 邊緣檢測背景知識

邊緣即指圖像中連接在一起的像素值發(fā)生突變的像素點的集合,故邊緣檢測則為檢測出圖像中所有的邊緣

1.1 處理方法

根據(jù)邊緣像素的像素值突變的特性,可以想象到導(dǎo)數(shù)是一種即為有效的手段。而在圖像中的像素值是離散的值,故在實際邊緣檢測算法中采用差分來近似導(dǎo)數(shù)。

1.2 一階導(dǎo)數(shù)與二階導(dǎo)數(shù)的推導(dǎo)

一階導(dǎo)數(shù)

\frac{\partial f}{\partial x}=f^{\prime}(x)=f(x+1)-f(x)
而對于二階導(dǎo)數(shù)

\frac{\partial^{2} f}{\partial x^{2}}=\frac{\partial f^{\prime}(x)}{\partial x}=f^{\prime}(x+1)-f^{\prime}(x)
又根據(jù)一階導(dǎo)數(shù)的差分公式可得

\frac{\partial^{2} f}{\partial x^{2}}=f(x+2)-2 f(x+1)+f(x)
而對于上式,可知其為關(guān)于x+1的差分,故-1可得到關(guān)于x的差分

\frac{\partial^{2} f}{\partial x^{2}}=f^{\prime \prime}(x)=f(x+1)+f(x-1)-2 f(x)
綜上可知

\frac{\partial f}{\partial x}=f^{\prime}(x)=f(x+1)-f(x)
\frac{\partial^{2} f}{\partial x^{2}}=f^{\prime \prime}(x)=f(x+1)+f(x-1)-2 f(x)


2 孤立點的檢測

2.1 拉普拉斯算子

在圖像中,灰度值的變化是雙向的——X軸與Y軸。換句話說,在檢測邊緣像素點時,需要考慮到兩個方向的梯度。而拉普拉斯算子在二維空間的表達(dá)式為

\nabla^{2} f(x, y)=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}}
即為兩個方向上的二階導(dǎo)數(shù)之和,而二階導(dǎo)數(shù)相對于一階導(dǎo)數(shù)對于像素點的變化更為敏感,則應(yīng)用拉普拉斯算子可十分有效的檢測到孤立點。當(dāng)然,也正因為拉普拉斯算子對于變化十分敏感,噪聲對其的影響較大。

根據(jù)1.2中二階導(dǎo)數(shù)的推導(dǎo)式,可得拉普拉斯算子如下

\nabla^{2} f(x, y)=f(x+1, y)+f(x-1, y)+f(x, y+1)+f(x, y-1)-4 f(x, y)

2.2 檢測規(guī)則

在點(x, y)計算的拉普拉斯算子的絕對值大于指定的閾值時(即該點的像素值變化明顯),則認(rèn)為該點為邊緣點;對于輸出圖像中該位置為亮點。否則,為暗點。表達(dá)式如下

g(x, y)=\left\{\begin{array}{l}{1,|\nabla^{2} f(x, y)| \geqslant T} \\ {0,other}\end{array}\right.

2.3 空間濾波器

在計算圖像中的一階導(dǎo)數(shù)與二階導(dǎo)數(shù)時,空間濾波器是常用計算方法。計算過程為模板系數(shù)與在計算點處模板所對應(yīng)的像素點的灰度值的乘積之和。當(dāng)模板系數(shù)之和為0時,表示對于恒定灰度區(qū)域計算的模板想要為0

R=w_{1} z_{1}+w_{2} z_{2}+\cdots+w_{n} z_{n}=\sum_{k=1}^{n} w_{k} z_{k}

  • n為模板系數(shù)的個數(shù)
  • w_k為模板系數(shù)
  • z_k為對于的像素值
例:計算拉普拉斯算子

3 \times 3空間濾波器模板

\begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{bmatrix}

對應(yīng)灰度值

\begin{bmatrix}f(x-1, y-1) &f(x, y-1) &f(x-1, y+1) \\f(x-1, y) &f(x, y) &f(x+1, y) \\f(x+1, y-1) &f(x, y+1) &f(x+1, y+1) \end{bmatrix}

兩個矩陣元素對應(yīng)相乘相加則為拉普拉斯算子

\nabla^{2} f(x, y)=f(x+1, y)+f(x-1, y)+f(x, y+1)+f(x, y-1)-4 f(x, y)

2.4 Code

import numpy as np

def point(intput_signal, threshold):
    '''
    點檢測(使用于灰度圖)
    :param intput_signal:   輸入圖像
    :param threshold:   拉普拉斯算子閾值
    :return:    點圖像
    '''
    intput_signal_cp = np.copy(intput_signal)   # 輸入圖像的副本

    m, n = intput_signal_cp.shape   # 輸入圖像的尺寸(行、列)

    output_signal = np.zeros((m, n))  # 檢測點的輸出

    # 空間濾波模板
    filtering_template = np.array([
        [0, 1, 0],
        [1, -4, 1],
        [0, 1, 0]
    ])

    point_matrix = np.zeros((3, 3)) # 矩陣灰度值,用于計算拉普拉斯算子

    for i in range(m):
        for j in range(n):
            # 該像素點灰度值
            point_matrix[1, 1] = intput_signal_cp[i, j]

            # 該像素點周圍的點的灰度值,如若已至邊界則視為0
            if i - 1 >= 0:
                point_matrix[0, 1] = intput_signal_cp[i-1, j]
            if i + 1 < m:
                point_matrix[2, 1] = intput_signal_cp[i+1, j]
            if j - 1 >= 0:
                point_matrix[1, 0] = intput_signal_cp[i, j-1]
            if j + 1 < n:
                point_matrix[1, 2] = intput_signal_cp[i, j+1]

            temp = abs(np.sum(point_matrix * filtering_template))    # 拉普拉斯算子值計算

            if temp >= threshold:
                output_signal[i, j] = 255  # 拉普拉斯算子大于閾值,則為亮點
            else:
                output_signal[i, j] = 0   #否則為暗點

            point_matrix = np.zeros((3, 3))  # 重置,為下一個點做準(zhǔn)備

    return output_signal

3 對比實驗

camera

coins

4 GitHub

click me!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    好吊妞在线免费观看视频| 欧美成人精品国产成人综合| 好东西一起分享老鸭窝| 国产大屁股喷水在线观看视频 | 一区二区福利在线视频| 精品国产亚洲av久一区二区三区| 熟女免费视频一区二区| 丝袜美女诱惑在线观看| 日韩欧美国产亚洲一区| 色婷婷视频免费在线观看| 中文字幕一二区在线观看| 激情国产白嫩美女在线观看| 亚洲国产精品肉丝袜久久| 国产又粗又猛又大爽又黄| 国产精品午夜福利免费阅读| 我的性感妹妹在线观看| 2019年国产最新视频| 久久精品国产熟女精品| 色综合久久中文综合网| 国产午夜免费在线视频| 亚洲国产综合久久天堂| 欧美精品久久男人的天堂| 97人妻精品一区二区三区免| 亚洲中文字幕高清乱码毛片 | 国产精品国产亚洲看不卡| 欧美精品女同一区二区| 一二区不卡不卡在线观看| 在线中文字幕亚洲欧美一区| 久久一区内射污污内射亚洲| 大尺度激情福利视频在线观看| 亚洲国产香蕉视频在线观看| 日本高清二区视频久二区| 久久精品亚洲情色欧美| 东京热一二三区在线免| 夫妻性生活动态图视频| 99久久精品国产日本| 夜夜嗨激情五月天精品| 国产一区二区三区四区中文| 亚洲国产成人一区二区在线观看| 亚洲熟妇中文字幕五十路| 亚洲国产精品av在线观看|