1. 程式人生 > >Matlab影象處理系列3———空間域銳化濾波器

Matlab影象處理系列3———空間域銳化濾波器

注:本系列來自於影象處理課程實驗,用Matlab實現最基本的影象處理演算法

1.銳化濾波器

銳化濾波,是將影象的低頻部分減弱或去除,保留影象的高頻部分,即影象的邊緣資訊。

影象的邊緣、輪廓一般位於灰度突變的地方,也就是影象的高頻部分,通常用灰度差分提取邊緣輪廓。

影象中邊緣輪廓通常是任意方向的,因此我們的差分運算需要具有方向性。各向同性的邊緣檢測運算元對任意方向的邊緣輪廓都有相同的檢測能力,那麼什麼是運算元

運算元是一個函式空間到函式空間上的對映O:X→X。廣義上的運算元可以推廣到任何空間,如內積空間等。

我們主要學習以下四種差分運算元:

  • Roberts運算元
  • Sobel運算元
  • Prewitt運算元
  • Laplace運算元

2.Roberts運算元銳化濾波

(1)Roberts運算元

設影象函式為F(x,y),點(x,y)的梯度定義為:

G[F(x,y)]=FxFy

梯度的幅值定義為:

G[F(x,y)]=(Fx)2+(Fy)2

對於離散影象,我們需要用差分近似表示微分,那麼得到近似梯度幅度為:

G[F(x,y)]=[F(x,y)F(x+1,y)]2+[F(x,y)F(x,y+1)]2
=|F(x,y)F(x+1,y)|+|F(x,y)F(x,y+1)|

交叉一階差分,得到Roberts運算元:

G[F(x,y)]=|F(x,y)F(x+1,y)|+|F(x,y)F(x,y+1)|

(2)程式碼實現

Roberts運算元涉及絕對值運算,我們不方便提取出模版來做模版卷積運算,那麼直接遍歷所有點求出其近似梯度幅值:

function [ edge ] = RobertsOperator( pic )
    edge = uint8(zeros(size(pic)));

    h = size(pic, 1);
    w = size
(pic, 2); for i = 1 : h - 1 for j = 1 : w - 1 edge(i, j) = uint8(abs(pic(i, j) - pic(i + 1, j + 1)) + abs(pic(i, j + 1) - pic(i + 1, j))); end end end

邊界點無法按照Roberts運算元求交叉差分,這裡採取直接忽略邊界的方式。需要注意的是把型別強制轉換為uint8(abs預設返回double)。

(3)執行結果

這裡寫圖片描述

3.Sobel運算元銳化濾波

(1)Sobel運算元

Roberts運算元是基於2*2視窗計算近似梯度,而Sobel運算元是基於3*3視窗計算近似梯度的,並且Sobel運算元並不是各向同性的運算元,它分為:

  • 水平邊緣檢測Sobel運算元gx
  • 垂直邊緣檢測Sobel運算元gy

先給出模版再說明近似梯度的原因:

gx=101202101 gy=121000121

gx之所以近似表示水平梯度,是因為它直接求的是3*3視窗內模版中心畫素點附近的畫素點水平差分之和,中間元素差分乘以了權重係數2表示和模版中心關聯度更高。gy可以類似理解。

運用模版卷積運算,可以快速求出水平梯度:

Gx=gxF3×3

Sobel運算元考慮權重,因此抗噪能力優於無權重的Prewitt運算元(見後)。

在求出了水平梯度Gx和垂直梯度Gy後,可以得到梯度幅值為:

G=(

相關推薦

Matlab影象處理系列3———空間濾波器

注:本系列來自於影象處理課程實驗,用Matlab實現最基本的影象處理演算法 1.銳化濾波器 銳化濾波,是將影象的低頻部分減弱或去除,保留影象的高頻部分,即影象的邊緣資訊。 影象的邊緣、輪廓一般位於灰度突變的地方,也就是影象的高頻部分,通常用灰度差分提取邊緣

Matlab影象處理系列2———空間平滑濾波器

注:本系列來自於影象處理課程實驗,用Matlab實現最基本的影象處理演算法 本文章是Matlab影象處理系列的第二篇文章,介紹了空間域影象處理最基本的概念————模版和濾波器,給出了均值濾波起和中值濾波器的Matlab實現,最後簡要討論去躁效果。 1.空

Matlab影象處理系列1———線性變換和直方圖均衡

注:本系列來自於影象處理課程實驗,用Matlab實現最基本的影象處理演算法 影象點處理是影象處理系列的基礎,主要用於讓我們熟悉Matlab影象處理的程式設計環境。灰度線性變換和灰度拉伸是對畫素灰度值的變換操作,直方圖是對畫素灰度值的統計,直方圖均衡是對灰度值分

影象增強之空間

1、影象銳化理論 影象銳化的目的是使影象變得清晰起來,銳化主要用於增強影象的灰度跳變部分,這一點與影象平滑對灰度跳變的抑制正好相反。銳化提高影象的高頻分量,增加灰度反差增強影象的邊緣和輪廓,以便後期影象識別。 在影象增強過程中,常用平滑演算法來消除噪聲,平滑屬於低通濾波,影象的能量主要集中在低頻部分,噪聲所在

影象處理3)頻率濾波

Fourier變換 Fourier變換最開始由傅立葉提出,當時為了解決熱力學問題。後來經過發展形成了一套完整的理論,應用在物理學、訊號學等很多方面。如果一個函式滿足絕對可積條件,即: 因為計算機處理的是離散值,要求對f(x)和F(w)都取樣,這時Fourier變換被稱為離

【數字影象處理系列二】基本概念:亮度、對比度、飽和度、、解析度

本系列python版本:python3.5.4 本系列opencv-python版本:opencv-python3.4.2.17 本系列使用的開發環境是jupyter notebook,是一個python的互動式開發環境,測試十分方便,並集成了vim

MATLAB影象處理基礎知識3 size函式

d = size(X);    %返回矩陣的行數和列數,儲存在d中[m,n] = size(X)%返回矩陣的行數和列數,分別儲存在m和n中m = size(X,dim);%返回矩陣的行數或列數,dim=1返回行數,dim=2返回列數

FPGA影象處理系列——實現窗處理

窗處理是影象處理中常見的一種處理,它的思想是對於影象矩陣,通過一個固定大小(例如3*3)的小矩陣對影象進行運算操作。常用的窗處理包括Sobel邊緣檢測,形態學操作,模糊濾波,高斯濾波等。在基於PC的影象處理領域,可以方便的實現窗處理操作。比如,在opencv庫中可以自己隨意構建視窗大小,然後呼叫相關

android影象處理3)浮雕效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android影象處理3)底片效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android影象處理系列之五--給圖片新增邊框(中)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android影象處理系列之六--給圖片新增邊框(下)-圖片疊加

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android影象處理系列之四--給圖片新增邊框(上)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

數字影象處理中的頻率濾波

作者是一名在讀的碩士研究僧,方向是機器視覺。由於視覺是一門相對複雜的學科,作者在課堂上學到的東西只是非常淺顯的內容,我們老師說是,領我們進了個門。現在打算利用圖書館和網路上的資源進行自學。由於是剛開始寫自己的部落格,並且所具備的專業知識非常的有限,難免有出錯之處,如果有朋友發現一些毛病,希望能夠指正

python數字影象處理3):影象畫素的訪問與裁剪

圖片讀入程式中後,是以numpy陣列存在的。因此對numpy陣列的一切功能,對圖片也適用。對陣列元素的訪問,實際上就是對圖片畫素點的訪問。 彩色圖片訪問方式為: img[i,j,c] i表示圖片的行數,j表示圖片的列數,c表示圖片的通道數(RGB三通道分別對應0,1

【數字影象處理系列四】影象資料集增強方式總結和實現

本系列python版本:python2.7.15 本系列opencv-python版本:opencv-python3.4.2.17 本系列使用的開發環境是jupyter notebook,是一個python的互動式開發環境,測試十分方便,並集成了vim操作,

數字影象處理中的空間濾波

影象的空間濾波 空間卷積:                                                     卷積是處理線性系統的基礎,以下介紹的濾波計算方式,都與卷積計算有密切關係,其計算形式與卷積的計算方式有高度的相似性。如果下面介紹的濾波運算

Matlab 影象處理 筆記

批量儲存視訊每一幀影象:  video = VideoReader('realSample.avi'); % 讀取視訊檔案 nFrames = video.NumberOfFrames;   %得到幀

Matlab影象處理常用函式

目錄 一、Matlab常用的統計函式 求和 sum(X) 最小值 min(X) 均值 mean(X) 最大值 max(X) x的平方根

MATLAB影象處理_同態濾波1

原 MATLAB影象處理_同態濾波 2015年01月20日 09:54:25 風雨也無晴 閱讀數:14234 同態濾