国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

這篇具有很好參考價值的文章主要介紹了拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

拉普拉斯銳化

[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

原創(chuàng)文章;轉載請注明出處:?? Sylvan Ding

銳化處理的主要目的是突出灰度的過度部分。圖像銳化的用途多種多樣,應用范圍從電子印刷和醫(yī)學成像到工業(yè)檢測和軍事系統(tǒng)的制導等。利用圖像微分可以增強邊緣和其他突變(如噪聲),而削弱灰度變化緩慢的區(qū)域。

定義

對于一維函數(shù),其一階微分的定義如下(差值):(為了與二維函數(shù)圖像的微分保持一致,這里使用了偏導符號)

? f ? x = f ( x + 1 ) ? f ( x ) \frac{\partial f}{\partial x} = f(x+1)-f(x) ?x?f?=f(x+1)?f(x)

由此,不難推出其二階微分(差分):

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

由上式可知,一階微分需要"前瞻"一個值,而二階微分不僅需要"前瞻"、還需要"后瞻"才能算出。所以在分析二階微分的問題時,通常只考慮從第二個點到倒數(shù)第二個點的微分計算,以避免前一個點和下一個點不存在的情況。

對于二維函數(shù)圖像 f ( x , y ) f(x,y) f(x,y),其拉普拉斯算子定義為:

? 2 f = ? 2 f ? x 2 + ? 2 f ? y 2 \nabla^{2} f=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}} ?2f=?x2?2f?+?y2?2f?

x x x 方向和 y y y 方向上有:

? 2 f ? x 2 = f ( x + 1 , y ) + f ( x ? 1 , y ) ? 2 f ( x , y ) \frac{\partial^{2} f}{\partial x^{2}}=f(x+1, y)+f(x-1, y)-2 f(x, y) ?x2?2f?=f(x+1,y)+f(x?1,y)?2f(x,y)

? 2 f ? y 2 = f ( x , y + 1 ) + f ( x , y ? 1 ) ? 2 f ( x , y ) \frac{\partial^{2} f}{\partial y^{2}}=f(x, y+1)+f(x, y-1)-2 f(x, y) ?y2?2f?=f(x,y+1)+f(x,y?1)?2f(x,y)

? 2 f ( x , y ) = f ( x + 1 , y ) + f ( x ? 1 , y ) + f ( x , y + 1 ) + f ( x , y ? 1 ) ? 4 f ( x , y ) \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) ?2f(x,y)=f(x+1,y)+f(x?1,y)+f(x,y+1)+f(x,y?1)?4f(x,y)

核心思想

一階微分表征了在某個方向上灰度的變化率,而二階微分表征的是一階微分的變化情況。對于灰度值的緩慢變化(斜坡過渡),一階微分只能產(chǎn)生粗糙的邊緣,但二階微分可以形成"零交叉"(前后連個像素點間二階微分差值很大,切連線與坐標軸相交,產(chǎn)生零點),比一階微分更能反應出邊界,在邊緣檢測中發(fā)揮著更加重要的作用。

由上述分析知,二階微分在增強細節(jié)方面比一階微分好得多,是適合銳化圖像的立項特征,這就是拉普拉斯二階微分算子銳化圖像的核心思想。

構造拉普拉斯模版

拉普拉斯濾波通過濾波器模板(核)來實現(xiàn)。根據(jù)定義中對拉普拉斯算子的描述,不難得到:(模版1)

[ 0 1 0 1 ? 4 1 0 1 0 ] \begin{bmatrix}0 & 1 & 0 \\ 1& -4 &1 \\ 0& 1 &0 \end{bmatrix} ???010?1?41?010????

模版1中四個角均為 0 0 0,沒有納入拉普拉斯算子的線性計算中,因為這樣構造出的模版只是在 x、y 坐標軸方向上求了二階微分,那么可以考慮向定義中拉普拉斯算子里加入 4 5 ° 45^\circ 45° 13 5 ° 135^\circ 135° 的對角線方向的二階微分。

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

那么,將對角方向灰度變化納入銳化中的拉普拉斯擴展模版2

[ 1 1 1 1 ? 8 1 1 1 1 ] \begin{bmatrix} 1& 1 &1 \\ 1& -8 &1 \\ 1& 1 &1 \end{bmatrix} ???111?1?81?111????

銳化過程

拉普拉斯算子強調的是圖像中灰度的突變,并不強調灰度級緩慢變化的區(qū)域,將原圖像和拉普拉斯圖像疊加,可以增強邊界的灰度值,以實現(xiàn)銳化。

g ( x , y ) = f ( x , y ) ? [ ? 2 f ( x , y ) ] g(x, y)=f(x, y)-\left[\nabla^{2} f(x, y)\right] g(x,y)=f(x,y)?[?2f(x,y)]

其中, f ( x , y ) f(x,y) f(x,y) 為原圖, g ( x , y ) g(x,y) g(x,y)為銳化后所得到的圖像函數(shù)。

由于 ? 2 f ( x , y ) \nabla^{2} f(x, y) ?2f(x,y) 拉普拉斯圖像中既有負值也有正值,故在展示拉普拉斯圖像時,負值會截斷成灰度值 0,超過 255 的灰度值也會截斷成 255,所以需要標定,本質上是歸一化。

"卷積"過程中,為了避免產(chǎn)生黑邊,所以邊緣填充為鏡像,對應openCV中BORDER_REFLECT_101.

二維卷積函數(shù) filter2D

cv.filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]]) -> dst

Convolves an image with the kernel.

The function applies an arbitrary linear filter to an image. In-place operation is supported. When the aperture is partially outside the image, the function interpolates outlier pixel values according to the specified border mode.

The function does actually compute correlation, not the convolution:

dst ? ( x , y ) = ∑ 0 ≤ x ′ < ?kernel.cols? 0 ≤ y ′ < ?kernel.rows? kernel ? ( x ′ , y ′ ) ? src ? ( x + x ′ ? ?anchor.? x , y + y ′ ? ?anchor.y? ) \operatorname{dst}(x, y)=\sum_{\begin{array}{l} 0 \leq x^{\prime}<\text { kernel.cols } \\ 0 \leq y^{\prime}<\text { kernel.rows }\end{array} } \operatorname{kernel}\left(x^{\prime}, y^{\prime}\right) * \operatorname{src}\left(x+x^{\prime}-\text { anchor. } x, y+y^{\prime}-\text { anchor.y }\right) dst(x,y)=0x<?kernel.cols?0y<?kernel.rows???kernel(x,y)?src(x+x??anchor.?x,y+y??anchor.y?)

That is, the kernel is not mirrored around the anchor point. If you need a real convolution, flip the kernel using flip and set the new anchor to (kernel.cols - anchor.x - 1, kernel.rows - anchor.y - 1).

Parameters:

  • src: input image.
  • dst: output image of the same size and the same number of channels as src.
  • ddepth: desired depth of the destination image, if set to -1, it will keep the same as the input
  • kernel: convolution kernel.
  • anchor: default value (-1,-1) means that the anchor is at the kernel center.
  • delta: optional value added to the filtered pixels before storing them in dst.
  • borderType: pixel extrapolation method.

ddepth:

CV_8U (0…255)

CV_8S (-128…127)

CV_16U (0…65535)

CV_16S (-32768…32767)

C is channel number, CV_8UC1 means 8 unsigned with a channel.

borderType:

cv2.BORDER_CONSTANT: It adds a constant colored border. The value should be given as a keyword argument

cv2.BORDER_REFLECT: The border will be mirror reflection of the border elements. Suppose, if image contains letters “abcdefg” then output will be “gfedcba|abcdefg|gfedcba“.

cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT: It does the same works as cv2.BORDER_REFLECT but with slight change. Suppose, if image contains letters “abcdefgh” then output will be “gfedcb|abcdefgh|gfedcba“.

cv2.BORDER_REPLICATE: It replicates the last element. Suppose, if image contains letters “abcdefgh” then output will be “aaaaa|abcdefgh|hhhhh“.

實驗

使用模版1進行銳化的結果如下,從上到下依次為圖片編號1、2、3、4:

  1. 原圖
  2. 未標定的拉普拉斯圖像
  3. 標定的拉普拉斯圖像
  4. 拉普拉斯濾波后的圖像

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

使用模版2進行銳化的結果如下:

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

不難發(fā)現(xiàn),模版2 比 模版1 效果更好。

代碼

import cv2
import numpy as np
import matplotlib.pyplot as plt

def Laplace(img, kernel):

    des_8U = cv2.filter2D(img, -1, kernel=kernel, borderType=cv2.BORDER_DEFAULT)
    des_16S = cv2.filter2D(img, ddepth=cv2.CV_16SC1, kernel=kernel, borderType=cv2.BORDER_DEFAULT)

    g = img - des_16S
    g[g<0] = 0
    g[g>255] = 255

    plt.figure(figsize=(10,14))

    # origin, des_8U, des_16S, filtered
    plt.subplot(221)
    plt.imshow(img, cmap='gray')
    plt.title('origin')

    plt.subplot(222)
    plt.imshow(des_8U, cmap='gray')
    plt.title('des-8U')

    plt.subplot(223)
    plt.imshow(des_16S, cmap='gray')
    plt.title('des-16S')

    plt.subplot(224)
    plt.imshow(g, cmap='gray')
    plt.title('g')
    plt.show()

img0 = 'moon.tif'

f = cv2.imread(img0, cv2.IMREAD_GRAYSCALE)

kernel1 = np.asarray([[0, 1, 0],
                      [1, -4, 1],
                      [0, 1, 0]])

Laplace(f, kernel1)

kernel2 = np.asarray([[1, 1, 1],
                      [1, -8, 1],
                      [1, 1, 1]])

Laplace(f, kernel2)

預備知識

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)

拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)文章來源地址http://www.zghlxwxcb.cn/news/detail-409341.html

參考文獻

  1. 數(shù)字圖像處理:第3版,北京:電子工業(yè)出版社
  2. 圖像分割——線檢測——拉普拉斯標定(Matlab)
  3. 數(shù)據(jù)集下載地址

到了這里,關于拉普拉斯銳化[原理及Python實現(xiàn)](含拉氏標定、拉普拉斯標定)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 機器視覺技術與應用實戰(zhàn)(平均、高斯、水平prewitt、垂直prewitt、水平Sobel、垂直Sobel、拉普拉斯算子、銳化、中值濾波)

    機器視覺技術與應用實戰(zhàn)(平均、高斯、水平prewitt、垂直prewitt、水平Sobel、垂直Sobel、拉普拉斯算子、銳化、中值濾波)

    ? ? ?扯一點題外話,這一個月經(jīng)歷了太多,接連感染了甲流、乙流,人都快燒沒了,乙流最為嚴重,燒了一個星期的38-39度,咳嗽咳到虛脫。還是需要保護好身體,感覺身體扛不住幾次連續(xù)發(fā)燒?。琢饕伊魇遣《?,提前準備好奧司他韋,這個是阻斷病毒復制的藥,48小時內

    2024年01月21日
    瀏覽(20)
  • 樸素貝葉斯算法和拉普拉斯平滑詳細介紹及其原理詳解

    樸素貝葉斯算法和拉普拉斯平滑詳細介紹及其原理詳解

    K近鄰算法和KD樹詳細介紹及其原理詳解 樸素貝葉斯算法和拉普拉斯平滑詳細介紹及其原理詳解 決策樹算法和CART決策樹算法詳細介紹及其原理詳解 線性回歸算法和邏輯斯諦回歸算法詳細介紹及其原理詳解 硬間隔支持向量機算法、軟間隔支持向量機算法、非線性支持向量機算

    2024年02月04日
    瀏覽(25)
  • visual Studio MFC 平臺實現(xiàn)拉普拉斯和拉普拉斯與直方圖均衡化與中值濾波相結合實現(xiàn)比較

    visual Studio MFC 平臺實現(xiàn)拉普拉斯和拉普拉斯與直方圖均衡化與中值濾波相結合實現(xiàn)比較

    本文使用visual Studio MFC 平臺實現(xiàn)圖像增強中的拉普拉斯變換,同時拉普拉斯一般不會單獨使用,與其他平滑操作相結合,本文使用了拉普拉斯與直方圖均衡化以及與中值濾波相結合,也對三種方式進行了對比 關于基礎工程的創(chuàng)建可以參考 01-Visual Studio 使用MFC 單文檔工程繪制

    2024年02月04日
    瀏覽(15)
  • Python Opencv實踐 - 拉普拉斯(Laplacian)算子邊緣檢測
  • 圖像金字塔、高斯金字塔、拉普拉斯金字塔是怎么回事?附利用拉普拉斯金字塔和高斯金字塔重構原圖的Python-OpenCV代碼

    圖像金字塔、高斯金字塔、拉普拉斯金字塔是怎么回事?附利用拉普拉斯金字塔和高斯金字塔重構原圖的Python-OpenCV代碼

    圖像金字塔是對圖像進行多分辨率表示的一種有效且簡單的結構。 一個圖像金字塔是一系列以金字塔形狀排列的分辨率逐步降低的圖像。圖像金字塔的底部是待處理圖像的高分辨率表示,而頂部是低分辨率表示。 圖像金字塔有什么作用? 圖像金字塔常用于圖像縮放、圖像重

    2024年02月04日
    瀏覽(97)
  • 拉普拉斯矩陣的定義,常見的幾種形式以及代碼實現(xiàn)?

    拉普拉斯矩陣的定義,常見的幾種形式以及代碼實現(xiàn)?

    拉普拉斯矩陣(Laplacian matrix) 也叫做導納矩陣、基爾霍夫矩陣或離散拉普拉斯算子,主要應用在圖論中,作為一個圖的矩陣表示。對于圖 G=(V,E),其Laplacian 矩陣的定義為 L=D-A,其中 L 是Laplacian 矩陣, D=diag(d)是頂點的度矩陣(對角矩陣),d=rowSum(A),對角線上元素依次為各個頂點

    2023年04月25日
    瀏覽(20)
  • 【信號與系統(tǒng)】(二十一)拉普拉斯變換與復頻域分析——拉普拉斯變換及其性質

    【信號與系統(tǒng)】(二十一)拉普拉斯變換與復頻域分析——拉普拉斯變換及其性質

    傅里葉變換: j w jw j w 拉普拉斯變換: s = σ + j w s=sigma+jw s = σ + j w 有些函數(shù)不滿足絕對可積條件 ,求解傅里葉變換困難。為此,可用一衰減因子 e ? σ t e^{-sigma t} e ? σ t ( σ sigma σ 為實常數(shù))乘信號 f ( t ) f(t) f ( t ) ,適當選取 σ sigma σ 的值,使乘積信號 f ( t ) e ?

    2024年02月09日
    瀏覽(33)
  • 拉普拉斯算子

    拉普拉斯算子

    在介紹拉普拉斯算子概念之前我們先介紹,哈密爾頓算子( ? nabla ? ),梯度,散度等概念 所謂哈密爾頓算子即為某一物理量在笛卡爾坐標系下的偏導數(shù)的矢量和,其運算符號為: ? nabla ? ,定義如下: ? = δ δ x i + δ δ y j + δ δ z k nabla={frac{delta}{delta x}}pmb{i}+{f

    2024年02月09日
    瀏覽(26)
  • 拉普拉斯變換

    拉普拉斯變換

    1.公式:設f(t)在t≥0時有定義, 其中s=β+jw。 注:L(1)=? ?L(sgnt)=? ?L()= 2.性質 ? ? ? ? 性質1: ? ? ? ? ?性質2: ? ? ? ? ?性質3: ? ? ? ? 性質4:L()= 推導性質2:使用歐拉公式進行推導 同理,cosat= ,使用分部積分法,經(jīng)過兩次分部積分后會出現(xiàn)原來的積分,通過合并

    2024年02月05日
    瀏覽(28)
  • 【電路分析】拉普拉斯變換及其應用

    【電路分析】拉普拉斯變換及其應用

    零狀態(tài)響應 是指電路的外加激勵源為零的情況下,由動態(tài)元件的初始儲能引起的響應。 零輸入響應 是指電路的初始狀態(tài)為零(即換路前電容電壓為零,電感電流為零),由外加激勵源產(chǎn)生的響應。 該函數(shù)在 t0時幅值為1,在 t0 時幅值為-0,在 t=0時函數(shù)沒有定義但為有限值

    2024年02月03日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包