1. 程式人生 > >降噪 (Noise Reduction)對於影象邊緣檢測 (Edge Detection)的意義

降噪 (Noise Reduction)對於影象邊緣檢測 (Edge Detection)的意義

對於拍攝到的影象,在識別其中物體的邊緣時,一定要先降噪

1. 首先,邊緣檢測的演算法如下圖所示:

原始影象
原始影象如上圖所示,肉眼可見清晰的邊緣。
其強度函式 (Intensity Function)如下:
這裡寫圖片描述
那麼,邊緣的識別是基於強度函式的一階導數進行的,如下圖中,導數的極值就是邊緣的位置!
這裡寫圖片描述

2. 噪聲的影響

如下建築物的圖片,
這裡寫圖片描述
紅線所示處的密度函式和一階導數分別為:

如下圖所示的引入了高斯噪聲的圖片:

其邊緣處的強度函式與一階導數分別為:


在這種情況下,根本無法識別出物體的邊緣。

因此,肉眼能識別的內容,在機器看來,根本就是一團亂麻 (What a Mess!)。

3. 解決方案

最簡單的方案就是引入平滑處理,如下圖所示的物體邊緣強度函式f(x):
這裡寫圖片描述
引入一個平滑處理的kernel g(x),如下圖所示:
這裡寫圖片描述
那麼f*g後的強度函式如下所示:
這裡寫圖片描述
對f*g求一階導數的影象如下所示:
這裡寫圖片描述
通過尋找極值,我們很容易找到物體的邊緣!

相關推薦

(Noise Reduction)對於影象邊緣檢測 (Edge Detection)的意義

對於拍攝到的影象,在識別其中物體的邊緣時,一定要先降噪 1. 首先,邊緣檢測的演算法如下圖所示: 原始影象如上圖所示,肉眼可見清晰的邊緣。 其強度函式 (Intensity Function)如下: 那麼,邊緣的識別是基於強度函式的一

深度學習筆記(4):1.1-1.3 邊緣檢測(edge detection)

第四課開始,我們開始學習卷積神經網路。 1.1 計算機視覺(computer vision) 深度學習在計算機視覺方面的應用非常振奮人心,一方面是該應用使許多不可能變成了可能,另一方面是深度學習在計算機視覺方面的應用能夠給深度學習在其他方面的應用帶來一些方法的改進和思考,

影象處理】RGB影象邊緣檢測

灰度圖邊緣檢測    在學習影象處理時,首先接觸到的就是灰度影象的邊緣檢測,這是影象處理最基礎的也是最重要的一環,熟悉影象邊緣檢測有助於我們學習其他的數字影象處理方法。由於影象的邊緣區域會存在明顯的畫素值階躍,因此邊緣檢測主要是通過獲得影象灰度梯度,進而通過梯

影象邊緣檢測——幾種影象邊緣檢測運算元的學習及python 實現

  本文學習利用python學習邊緣檢測的濾波器,首先讀入的圖片程式碼如下: import cv2 from pylab import * saber = cv2.imread("construction.jpg") saber = cv2.cvtColor(saber,cv2.COLOR_BGR2RG

影象邊緣檢測、角點特徵檢測以及SURF特徵提取

1.影象的邊緣檢測 影象的邊緣是指其周圍畫素灰度急劇變化的那些畫素的集合。邊緣檢測的基本思想是先檢測影象中的邊緣點,在按照某種策略將邊緣點連線成輪廓,從而構成分割區域。 利用edge對輸入的灰度影象進行邊緣檢測 I=imread(‘circuit

影象邊緣檢測—sobel運算元(灰度影象,彩色影象

void CShowPicView::Ontwodimension() { CShowPicDoc* pDoc = GetDocument(); CDC* pDC=GetDC(); // 字串 CString str; int x,y; int i,n; x=intHeight; y=int

影象邊緣檢測-運算元比較總結

一階導數運算元   1, Roberts運算元:對具有陡峭的低噪聲的影象處理效果較好。形式如下: [100−1] [

openCV—Python(11)—— 影象邊緣檢測

一、函式簡介 1、laplacian運算元 函式原型:Laplacian(src, ddepth, dst=None, ksize=None, scale=None, delta=None, borderType=None) src:影象矩陣 dde

影象邊緣檢測經典運算元及MATLAB實現

一、邊緣檢測 邊緣是圖象最基本的特徵. 邊緣檢測在計算機視覺、圖象分析等應用中起著重要的作用,是圖象分析與識別的重要環節,這是因為子圖象的邊緣包含了用於識別的有用資訊. 所以邊緣檢測是影象分析和模式識別的主要特徵提取手段。所謂邊緣是指其周圍畫素灰度後階變化或屋頂狀變化的

影象邊緣檢測邊緣增強處理——(Roberts、prewitt、sobel)

堅持寫下去,雖然簡單,但希望可以幫助到別人,有不足之處還望指教目的:對影象採用3種邊緣檢測運算元進行處理,比較處理後的結果,並用邊緣增強演算法對影象增強。一、基本原理1.1影象邊緣   影象邊緣是影象最基本的特徵之一,往往攜帶著一幅影象的大部分資訊。而邊緣存在於影象的不規則結

我的CUDA學習之旅4——Sobel運算元影象邊緣檢測CUDA實現

引言 關於影象邊緣檢測,記得剛開始接觸影象處理時,第一個自己實現的程式是通過筆記本攝像頭採集影象,利用OpenCV自帶的演算法庫進行Canny運算元邊緣檢測,那時候當看到程式執行後,視訊視窗實時顯示經Canny運算元邊緣分割後的影象,覺得十分有科技感,後來慢慢

OpenCV影象邊緣檢測(Laplace演算法)

一、Laplace演算法簡介   二階微分在亮的一邊是負的,在暗的一邊是正的。常數部分為零。可以用來確定邊的準確位置,以及畫素在亮的一側還是暗的一側。   拉普拉斯運算元是最簡單的各向同性微分運算元,具有旋轉不變性。一個二維影象函式 的拉普拉斯變換是各向同性

android studio 使用 jni 編譯 opencv 完整例項 之 影象邊緣檢測!從此在andrid中自由使用 影象匹配、識別、檢測

1 package io.github.froger.jni; 2 3 import android.app.Activity; 4 import android.graphics.Bitmap; 5 import android.graphics.drawable.BitmapDra

openCV實現影象邊緣檢測

最近自己在做一個有關影象處理的小專案,涉及到影象的邊緣檢測、直線檢測、輪廓檢測以及角點檢測等,本文首先介紹影象的邊緣檢測,使用的是Canny邊緣檢測演算法,具體程式碼以及檢測效果如下: 1、程式碼部分: // Image_Canny.cpp : 定義控制檯應用程式的入口點

【OpenCV影象處理入門學習教程四】基於LoG運算元的影象邊緣檢測

一、基於LoG運算元的影象邊緣檢測原圖:1.LoG運算元與自定義濾波運算元進行比較的結果:2.LoG運算元的結果:3.自定義3*31 1 1 1 -8 1 1 1 1 濾波結果:二、程式碼解析下面是一段基於LoG運算元的影象邊緣檢測的程式碼,同時會生成兩個結果,一個是LoG運算元的結果,第二個是自

opencv影象邊緣檢測

邊緣檢測檢測 &&邊緣檢測可以提取影象重要輪廓資訊,減少影象內容,可以用於分割影象,做特徵 提取 &&邊緣檢測的一般步驟 濾波——(濾出噪聲對檢測邊緣的影響) 濾高頻 增強——(可以將畫素鄰域強度變化凸顯出來–梯度運算元)

影象邊緣檢測——canny運算元原理與程式碼

轉自:http://blog.csdn.net/dcrmg/article/details/5234490 另有:http://blog.csdn.net/likezhaobin/article/details/6892629             http:/

基於FPGA的影象邊緣檢測

本文主要內容是實現影象的邊緣檢測功能 目錄 mif檔案的製作 呼叫 ip 核生成rom以及在 questasim 模擬注意問題 灰度處理 均值濾波:重點是3*3 畫素陣列的生成 sobel邊緣檢測 圖片的顯示 結果展示 mif檔案的製作 受資

【OpenCV影象處理】二十二、影象邊緣檢測(上)

→影象邊緣檢測的目的是檢測鄰域內灰度明顯變化的畫素,常用一階差分和二階差分來進行邊緣檢測 →數字影象中的邊緣是由鄰域內灰度值明顯變化的畫素構成,邊緣檢測主要是影象灰度的度量檢測和定位 →影象的邊緣有方向和幅值兩個屬性,沿邊緣方向畫素灰度值變化平緩或不發生變化,而垂直於邊緣方

OpenCV使用Canny邊緣檢測器實現影象邊緣檢測

效果圖 原始碼 Canny邊緣檢測器是一種被廣泛使用的演算法,並被認為是邊緣檢測最優的演算法,該方法使用了比高斯差分演算法更復雜的技巧,如多向灰度梯度和滯後閾值化。 Canny