色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

常用銳化算法及Sobel銳化的介紹

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 作者:FPGA技術江湖 ? 2022-05-05 11:05 ? 次閱讀

1. 圖像銳化原理介紹

在增強圖像之前一般會先對圖像進行平滑處理以減少或消除噪聲。圖像的能量主要集中在低頻部分,而噪聲和圖像邊緣信息的能量主要集中在高頻部分。因此,平滑處理會使原始圖像的邊緣和輪廓變得模糊。為了減少這類不利效果的影響,需要利用圖像銳化技術,使圖像的邊緣變得清晰。圖像銳化處理主要有兩個目的:一是與圖像平滑處理相反,增強圖像邊緣,使模糊的圖像更加清晰,顏色變得鮮明突出,圖像的質量有所改善,產生更適合人觀察和識別的圖像;二是經過銳化處理后,目標物體的邊緣鮮明,以便于計算機提取目標物體的邊界、對圖像進行分割、目標區域識別、區域形狀提取等,為圖像理解和分析打下基礎。 經過平滑處理的圖像變得模糊的根本原因是因為圖像受到了平均或積分運算,因此可以對其進行逆運算(如微分運算)就可以使圖像變得清晰。微分運算是求信號的變化率,由傅立葉變換的微分性質可知,微分運算具有加強高頻分量的作用。但需要注意的是,進行銳化處理的圖像必須有較高的性噪比,否則銳化后圖像性噪比反而更低,從而使得噪聲增加的比信號還要多,因此一般是先消除或減輕噪聲后再進行銳化處理,如圖1所示。

8fa21f6c-cbf1-11ec-bce3-dac502259ad0.png

1 圖像銳化示意圖

物體的邊緣是以圖像局部特性不連續性的形式出現的,即邊緣意味著一個區域的結束和另一個區域的開始。圖像邊緣有方向和幅度兩個參數。通常,沿邊緣走向的像素變化平緩,而垂直于邊緣走向的像素變化劇烈。邊緣一般有兩類(圖2所示):(1)階躍狀邊緣,它兩邊的像素灰度值顯著不同;(2)屋頂狀邊緣,它位于像素灰度值從增加到減少(或從減少到增加)的變化轉折點。經典的邊緣提取方法是考慮圖像的每個像素在某個領域內的變化,利用邊緣鄰近一階或二階方向導數變化規律來檢測邊緣。圖像灰度值的顯著變化可以用一階差分替代一階微分的梯度來表示,分別以梯度向量的幅度和方向來表示。因此,圖像中陡峭邊緣的梯度值很大;灰度值變化平緩的地方,梯度值較小;灰度值相同的地方,梯度值為零。

下面開始介紹運用一階微分和二階微分運算來進行圖像邊緣檢測的原理。

8fc7846e-cbf1-11ec-bce3-dac502259ad0.png

2 邊緣類型

1.1.一階微分邊緣檢測

一階微分主要是指梯度模運算,圖像的梯度模值包含了邊界及細節信息。圖像8fe77a80-cbf1-11ec-bce3-dac502259ad0.png在點90047982-cbf1-11ec-bce3-dac502259ad0.png處的梯度定義為:9024ab8a-cbf1-11ec-bce3-dac502259ad0.png由于數字圖像是離散的,所以可以用差分來替代微分,即:90454a52-cbf1-11ec-bce3-dac502259ad0.png906a2656-cbf1-11ec-bce3-dac502259ad0.png ?梯度的幅值即模值,為:90907de2-cbf1-11ec-bce3-dac502259ad0.png ?梯度的方向為:90b805e2-cbf1-11ec-bce3-dac502259ad0.png ?對圖像f使用梯度模算子進行運算后,可產生一幅梯度圖像g,圖像g和圖像f之間的像素關系為:90dfcf96-cbf1-11ec-bce3-dac502259ad0.png ?其中G為梯度模算子。由于梯度圖像g反映了圖像f的灰度變化分布信息,因此可以對其進行某種適當的處理和變換,或將變換后的梯度圖像和原圖像組合作為f銳化后的圖像。運用一階微分運算的邊緣檢測算子包括Robert算子、Prewitt算子和Sobel算子等等,將在后續小節中對Robert和Sobel邊緣檢測算法的實現進行介紹。

1.2.二階微分邊緣檢測

二階微分定義為90fb11ac-cbf1-11ec-bce3-dac502259ad0.png。考慮坐標旋轉變換,設P點旋轉前坐標為91186ebe-cbf1-11ec-bce3-dac502259ad0.png,順時針旋轉θ°后得913784fc-cbf1-11ec-bce3-dac502259ad0.png,如圖3所示,則有: 915784e6-cbf1-11ec-bce3-dac502259ad0.png圖3 坐標旋轉變換9175747e-cbf1-11ec-bce3-dac502259ad0.png9196fb08-cbf1-11ec-bce3-dac502259ad0.png91bbfd0e-cbf1-11ec-bce3-dac502259ad0.png ?函數8fe77a80-cbf1-11ec-bce3-dac502259ad0.png91f7b33a-cbf1-11ec-bce3-dac502259ad0.png的一階偏導數為921a29a6-cbf1-11ec-bce3-dac502259ad0.png ?函數8fe77a80-cbf1-11ec-bce3-dac502259ad0.png924b8ffa-cbf1-11ec-bce3-dac502259ad0.png的一階偏導數為926be1ce-cbf1-11ec-bce3-dac502259ad0.png ?函數8fe77a80-cbf1-11ec-bce3-dac502259ad0.png91f7b33a-cbf1-11ec-bce3-dac502259ad0.png的二階偏導數為92acd116-cbf1-11ec-bce3-dac502259ad0.png ?函數8fe77a80-cbf1-11ec-bce3-dac502259ad0.png924b8ffa-cbf1-11ec-bce3-dac502259ad0.png的二階偏導數為930d8344-cbf1-11ec-bce3-dac502259ad0.png ?將函數8fe77a80-cbf1-11ec-bce3-dac502259ad0.png91f7b33a-cbf1-11ec-bce3-dac502259ad0.png924b8ffa-cbf1-11ec-bce3-dac502259ad0.png的二階偏導數相加得93588a74-cbf1-11ec-bce3-dac502259ad0.png ?由此可見,二階微分具有各向同性、旋轉不變性的特征,從而滿足不同走向的圖像邊緣的銳化要求。 由于數字圖像是離散的,所以可以用差分來替代微分,即: 9378ba24-cbf1-11ec-bce3-dac502259ad0.png93928878-cbf1-11ec-bce3-dac502259ad0.png93b18458-cbf1-11ec-bce3-dac502259ad0.png ?后續小節將要介紹的Laplacian邊緣檢測算法正是基于二階微分運算。

1.3.一階微分與二階微分邊緣檢測對比

一階微分和二階微分運算都可以用來檢測圖像邊緣,但它們對邊緣的檢測原理和檢測效果是有差異的,如下所示: (1)對于突變型的細節,通過一階微分的極值點和二階微分的過零點均可以檢測出來,如圖4所示。

93d33a9e-cbf1-11ec-bce3-dac502259ad0.png

圖4 突變型細節

(2)對于細線型的細節,通過一階微分的過零點和二階微分的極值點均可以檢測出來,如圖5所示。

93f364fe-cbf1-11ec-bce3-dac502259ad0.png

圖5 細線型細節

(3)對于漸變型的細節,一般情況下突變幅度小、定位難、不易檢測,但二階微分的信息比一階微分的信息多,如圖6所示。

94113754-cbf1-11ec-bce3-dac502259ad0.png

圖6 漸變型細節

從圖像的景物細節的灰度分布特性可知,有些灰度變化特性一階微分的描述不是很明確,為此,采用二階微分能夠獲得更豐富的景物細節。

2.Sobel邊緣檢測與銳化的實現

2.1.Sobel邊緣檢測算法理論

Robert算子只采用梯度微分銳化圖像,會讓噪聲、條紋得到增強,而Sobel邊緣檢測算子則在一定程度上解決了這個問題,它是一種先求平均、再求微分、最后求梯度的算子,其算子形式如下所示。顯然,Sobel算子只考慮了源像素點周圍8個相鄰像素點的水平和垂直方向的像素突變,而沒有加入源像素點灰度值的計算。

9431b330-cbf1-11ec-bce3-dac502259ad0.png

945e0886-cbf1-11ec-bce3-dac502259ad0.png

Sobel算子的水平和垂直模板如圖12所示,分別對水平邊緣和垂直邊緣的影響最大。

94803046-cbf1-11ec-bce3-dac502259ad0.png

圖12 Sobel算子模板

Sobel算子在一個方向求微分,而在另一個方向求平均,因而對噪聲相對不敏感,具有抑制噪聲的作用。由于像素平均相當于對圖像進行低通濾波,所以Sobel算子對邊緣的定位不如Robert算子。但與Robert算子相比,Sobel算子有一定的抗干擾性,圖像效果比較干凈。 利用算子模板可求得水平和垂直方向的梯度94a132aa-cbf1-11ec-bce3-dac502259ad0.png94c175b0-cbf1-11ec-bce3-dac502259ad0.png,再通過梯度合成便可獲得邊緣檢測結果94e8f5c2-cbf1-11ec-bce3-dac502259ad0.png,如下所示:

95066f9e-cbf1-11ec-bce3-dac502259ad0.png

有時,為了簡化運算,可以用下面式子來近似替代。

9526fad4-cbf1-11ec-bce3-dac502259ad0.png

Sobel邊緣檢測的過程如圖13所示,獲得了比較粗的邊界,但邊緣定位精度不夠高,,有時可能對非邊緣像素的響應大于某些邊緣處的響應或者響應差別不是很大,造成漏檢或誤檢。當對精度要求不是很高時,是一種較為常用的邊緣檢測方法。將邊緣檢測結果與原圖疊加便可以得到銳化后的圖像,如圖14所示。

9542d93e-cbf1-11ec-bce3-dac502259ad0.png

圖13 Sobel邊緣檢測

95639c96-cbf1-11ec-bce3-dac502259ad0.png

圖14 Sobel銳化

2.2.Sobel邊緣檢測Matlab實現

前面已經對Sobel邊緣檢測算法進行了介紹,現在基于Matlab軟件對其進行仿真。創建函數Sobel_Edge_Detector用于實現Sobel算子對圖像進行邊緣檢測,相關的matlab代碼如下所示(詳見Sobel_Edge_Detector.m)。

% 灰度圖像Sobel邊緣檢測算法實現

% IMG為輸入的灰度圖像

% Q為輸出的灰度圖像

function Q = Sobel_Edge_Detector(IMG)

[h,w] = size(IMG); % 獲取圖像的高度h和寬度w

Q = zeros(h,w); % 初始化Q為全0的h*w大小的圖像

% -------------------------------------------------------------------------

% Wx Wy Pixel

% [ -1 -2 -1 ] [ +1 0 -1] [ P1 P2 P3]

% [ 0 0 0 ] [ +2 0 -2] [ P4 P5 P6]

% [ +1 +2 +1 ] [ +1 0 -1] [ P7 P8 P9]

Wx = [-1,-2,-1;0,0,0;1,2,1]; % Weight x

Wy = [1,0,-1;2,0,-2;1,0,-1]; % Weight y

IMG = double(IMG);

for i = 1 : h

forj = 1 : w

if(i<2?|| i>h-1 || j<2 || j>w-1)

Q(i,j)= 0; % 邊緣像素不處理

else

%Gx = sum(Wx.*IMG(i-1:i+1,j-1:j+1),'all');

Gx= Wx(1,1)*IMG(i-1,j-1) + Wx(1,2)*IMG(i-1,j) + Wx(1,3)*IMG(i-1,j+1) +...

Wx(2,1)*IMG(i ,j-1)+ Wx(2,2)*IMG(i ,j) + Wx(2,3)*IMG(i ,j+1) +...

Wx(3,1)*IMG(i+1,j-1)+ Wx(3,2)*IMG(i+1,j) + Wx(3,3)*IMG(i+1,j+1);

%Gy = sum(Wy.*IMG(i-1:i+1,j-1:j+1),'all');

Gy= Wy(1,1)*IMG(i-1,j-1) + Wy(1,2)*IMG(i-1,j) + Wy(1,3)*IMG(i-1,j+1) +...

Wy(2,1)*IMG(i ,j-1)+ Wy(2,2)*IMG(i ,j) + Wy(2,3)*IMG(i ,j+1) +...

Wy(3,1)*IMG(i+1,j-1)+ Wy(3,2)*IMG(i+1,j) + Wy(3,3)*IMG(i+1,j+1);

%Q(i,j) = sqrt(Gx^2 + Gy^2);

Q(i,j)= abs(Gx) + abs(Gy);

end

end

end

Q=uint8(Q);

上述Matlab代碼中需要注意以下幾點:

(1)函數輸入IMG是uint8數據類型的圖像,而計算時存在負數和小數,需要用浮點數來表示,所以將IMG由uint8數據類型轉為double數據類型;

(2)對圖像邊緣的像素不進行處理,直接輸出0;

(3)將函數輸出Q由double數據類型轉為uint8數據類型。

接下來編寫頂層M文件,相關的Maltab代碼如下所示(詳見Sobel_Sharpen_Test.m),Sobel銳化處理流程如圖15所示。

clear all;

close all;

clc;

% -------------------------------------------------------------------------

% Read PC image to Matlab

IMG1 = imread('../../0_images/Lenna.jpg'); % 讀取jpg圖像

IMG1 = rgb2gray(IMG1);

subplot(131);imshow(IMG1);title('【1】原圖');

% -------------------------------------------------------------------------

IMG2 = Sobel_Edge_Detector(IMG1);

subplot(132);imshow(IMG2);title('【2】Sobel邊緣檢測結果');

% -------------------------------------------------------------------------

IMG3 = IMG1 + IMG2;

subplot(133);imshow(IMG3);title('【3】Sobel銳化圖像');

958320f2-cbf1-11ec-bce3-dac502259ad0.png

圖15 Sobel銳化處理流程

執行頂層M文件可得到圖16所示的結果,其中【2】是進行Sobel邊緣檢測得到的效果圖,可以看出Sobel算子對邊緣有較強的響應,與Robert算子相比,對邊緣的響應更加強烈,得到的邊緣更加寬;【3】是原圖與邊緣檢測結果疊加后的效果圖,相比原圖,邊緣和細節更加突出,但圖像有些失真。

95a20db4-cbf1-11ec-bce3-dac502259ad0.png

圖16 Sobel邊緣檢測與銳化

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4627

    瀏覽量

    93166
  • 邊緣檢測
    +關注

    關注

    0

    文章

    92

    瀏覽量

    18229
  • sobel
    +關注

    關注

    0

    文章

    12

    瀏覽量

    7919

原文標題:常用銳化算法及Sobel銳化的介紹

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    求教求教,紅外圖像銳化

    求教關于數字圖像處理方面,尤其是圖像銳化方面的大神呢。有重謝的啦
    發表于 04-01 16:36

    DSP c6722 圖像銳化

    求LOG算子,canny算子 ,Roberts算子,梯度算子銳化程序。跪謝
    發表于 05-12 10:14

    基于FPGA的圖像拉普拉斯銳化處理

    時,此中心像素的灰度應被進一步提高,以此實現圖像的銳化處理。2.2拉普拉斯(laplace)算子最常用的無方向性的二階差分算子,其模板有3*3、5*5和7*7等多種形式。。例如,以3*3算子為例,1~8
    發表于 07-08 18:15

    8168采集圖像直接播放銳化嚴重該怎么辦?

    我們的設備 采集和編碼解碼后 圖像正常但是采集后 經過一次dup 一次swms 在播放后 發現圖像銳化嚴重 尤其是物體邊緣 非常的模糊 噪點很多如何解決這種問題?為什么出現此問題?
    發表于 08-26 13:50

    源碼交流=圖像處理 實現圖像去噪、濾波、銳化、邊緣檢測

    均衡化、銳化、邊緣檢測【處理效果】NO.1:原圖NO.2:去噪之后的圖像NO.3:銳化之后的圖像NO.4:直方圖均衡之后的圖像NO.5:Prewitt邊緣檢測之后的圖像NO.6:Roberts邊緣檢測
    發表于 04-01 19:03

    銳化圖像的MATLAB實現

    銳化圖像的MATLAB實現
    發表于 05-06 13:14

    基于拉普拉斯算法的圖像銳化算法實現

    該文提出了一種基于拉普拉斯算法的圖像銳化方法,并在DSP上實現其算法。首先研究拄普拉斯算子銳化圖像的基本原理,并推導出圖像銳化的拉普拉斯算子
    發表于 10-12 16:22 ?79次下載
    基于拉普拉斯<b class='flag-5'>算法</b>的圖像<b class='flag-5'>銳化</b><b class='flag-5'>算法</b>實現

    JAVA教程之模糊與銳化

    JAVA教程之模糊與銳化,很好的JAVA的資料,快來學習吧
    發表于 04-11 17:28 ?7次下載

    基于DSP_FPGA的紅外圖像銳化算法的實現

    基于DSPFPGA的紅外圖像銳化算法的實現,感興趣的可以看看。
    發表于 08-29 15:31 ?8次下載

    基于CORDIC的高速Sobel算法實現

    為提高圖像邊緣檢測的處理速度,提出一種基于CORDIC的高速Sobel算法實現。
    的頭像 發表于 10-05 09:54 ?3587次閱讀
    基于CORDIC的高速<b class='flag-5'>Sobel</b><b class='flag-5'>算法</b>實現

    NVIDIA緊急放出GeForce 445.78版修復驅動 解決開啟圖像銳化之后導致DX11游戲無法正常啟動問題

    NVIDIA日前放出了GeForce 445.75版顯卡驅動,正式支持新一代深度學習抗鋸齒技術DLSS 2.0,但也不下心引發了一個大大的Bug,開啟圖像銳化(Image Sharpening)之后會導致DX11游戲無法正常啟動。
    的頭像 發表于 03-26 13:52 ?1.3w次閱讀

    如何使用DSP和FPGA實現紅外圖像銳化算法的實現

    為了改善紅外圖像的成像質量,根據紅外圖像的特點,提出了一種改進的拉普拉斯銳化算法——受限拉普拉斯銳化算法,并采用DSP+FPGA的架構進行實時處理。對普通拉氏
    發表于 01-25 16:04 ?6次下載
    如何使用DSP和FPGA實現紅外圖像<b class='flag-5'>銳化</b><b class='flag-5'>算法</b>的實現

    基于擴展相位拉伸變換的血管造影圖像銳化

    針對目前傳統血管造影圖像銳化増強后大量細小血管變得模糊不清或丟失,甚至增強圖像中血管周圍產生大量背景噪聲,提岀一種相位拉伸核函數,形成基于擴展相位拉伸變換的血管造影圖像増強算法。該算法將S?型群延遲
    發表于 04-21 14:00 ?7次下載
    基于擴展相位拉伸變換的血管造影圖像<b class='flag-5'>銳化</b>

    Sobel邊緣檢測與銳化的實現

    效果的影響,需要利用圖像銳化技術,使圖像的邊緣變得清晰。圖像銳化處理主要有兩個目的:一是與圖像平滑處理相反,增強圖像邊緣,使模糊的圖像更加清晰,顏色變得鮮明突出,圖像的質量有所改善,產生更適合人觀察
    的頭像 發表于 03-21 13:17 ?2940次閱讀

    圖像銳化Sobel、Laplacian算子基礎知識介紹

    Sobel 算子是一種用于邊緣檢測的離散微分算子,它結合了高斯平滑和微分求導
    的頭像 發表于 09-13 09:52 ?1491次閱讀
    圖像<b class='flag-5'>銳化</b>的<b class='flag-5'>Sobel</b>、Laplacian算子基礎知識<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 亚洲中文字幕在线精品 | 久久成人永久免费播放 | 无码日韩人妻精品久久蜜桃入口 | 偷拍自怕亚洲在线第7页 | 2021国产精品视频 | 国产精品一区二区免费 | 国精一区二区AV在线观看网站 | 国产精品久久自在自2021 | 秋霞电影网伦大理电影在线观看 | 9亚洲欧洲免费无码在线 | 久久电影午夜 | 伸到同桌奶罩里捏她胸h | 国产成人a一在线观看 | 16女下面流水不遮图免费观看 | 十分钟免费视频大全在线观看 | 亚洲免费高清视频 | 成人中文字幕在线 | 亚洲国产成人综合 | 无修肉动漫在线观看影片 | 中国老太婆xxxxx | 色妞色视频一区二区三区四区 | 91亚洲精品| 耻辱の奴隷淑女中文字幕 | 国产麻豆剧果冻传媒免费网站 | 99久久国产极品蜜臀AV酒店 | 美女脱18以下禁止看免费 | X8X8拨牐拨牐X8免费视频8午夜 | 伊人综合在线影院 | 久久机热视频 这里只有精品首页 | 最近免费中文字幕完整版HD | 国产精品97久久AV色婷婷综合 | 2021自产拍在线观看视频 | 出差无套内射小秘书 | 亚洲中文日韩日本在线视频 | 任你躁精品一区二区三区 | A片毛片免费视频在线看 | 成人国内精品久久久久影院 | 野花韩国免费高清电影 | 免费视频xxx| 色偷偷91综合久久噜噜 | 亚洲福利电影一区二区? |