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

matlab中圖像分割技術(shù)之一邊緣檢測

這篇具有很好參考價值的文章主要介紹了matlab中圖像分割技術(shù)之一邊緣檢測。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.邊緣檢測
(1)Roberts邊緣算子
(2)Sobel算子
(3)Prewitt算子
(4)拉普拉斯(Laplacian)算子
(5)LOG(Laplacian-Gauss)算子
(6)坎尼(Canny)算子
(7)利用霍夫(Hough)變換

圖像分割技術(shù)圖像分割是把圖像分割成若干個特定的、具有獨特性質(zhì)的區(qū)域并提取出感興趣的目標(biāo)的技術(shù)和過程。在對圖像的研究和應(yīng)用中,人們往往僅對圖像的某些部分感興趣(目標(biāo)或背景),他們一般對應(yīng)圖像中特定的、具有獨特性質(zhì)的區(qū)域。
**(1)多種特征融合的分割方法:**除利用圖像的原始灰度特征外,我們還可以利用圖像的梯度特征、幾何特征(形態(tài)、坐標(biāo)、距離、方向、曲率等)、變換特征(傅里葉譜、小波特征、分形特征等)及統(tǒng)計學(xué)特征(紋理、不變矩、灰度均值等)等高層次特征。
**(2)多種分割方法結(jié)合的分割方法:**由于目標(biāo)成像的不確定性以及目標(biāo)的多樣性,單一的分割方法很難對含復(fù)雜目標(biāo)的圖像取得理想的分割結(jié)果。

一、邊緣檢測

邊緣(Edge)是指圖像局部亮度變化最顯著的部分。邊緣主要存在于目標(biāo)、目標(biāo)與背景、區(qū)域與區(qū)域(包括不同色彩)之間,是圖像分割、紋理特征提取和形狀特征提取等圖像分析的重要基礎(chǔ)。
(1)Roberts邊緣算子
一種斜向偏差分的梯度計算方法,梯度的大小代表邊緣的強度,梯度的方向與邊緣走向垂直。Roberts操作實際上是求旋轉(zhuǎn)±45°兩個方向上微分值的和。Roberts邊緣算子定位精度高,在水平和垂直方向效果較好,但對噪聲敏感。
兩個卷積核Gx=[1 0 0 -1],Gy=[0 1 -1 0]

clc;                %clc的作用就是清屏幕
clear;              %clear是刪除所有的變量
close all;          %close all是將所有打開的圖片關(guān)掉。
i=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
I=im2gray(i);
BW1=edge(I, 'Roberts',0.04);    %Roberts算子檢測邊緣
subplot(1,2,1),
imshow(I);
title('原圖像')
subplot(1,2,2),
imshow(BW1);
title('Roberts算子檢測邊緣')

matlab中圖像分割技術(shù)之一邊緣檢測
(2)Sobel算子
Sobel算子是一組方向算子,從不同的方向檢測邊緣。Sobel算子不是簡單的求平均再差分,而是加強了中心像素上下左右四個方向像素的權(quán)重,運算結(jié)果是一副邊緣圖像。Sobel算子通常對灰度漸變和噪聲較多的圖像處理得較好。
兩個卷積核Gx=[-1 0 1 -2 0 2 -1 0 1],Gy=[1 2 1 0 0 0-1 -2 -1]

clc;                %clc的作用就是清屏幕
clear;              %clear是刪除所有的變量
close all;          %close all是將所有打開的圖片關(guān)掉。
i=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
I=im2gray(i);
BW1=edge(I, 'Sobel',0.04);  %Sobel算子檢測邊緣
subplot(1,2,1),
imshow(I);
title('原圖像')
subplot(1,2,2),
imshow(BW1);
title('Sobel算子檢測邊緣')

matlab中圖像分割技術(shù)之一邊緣檢測
(3)Prewitt算子
Prewitt邊緣算子是一種邊緣樣板算子,利用像素點上下、左右鄰點灰度差,在邊緣處達(dá)到極值檢測邊緣,對噪聲具有平滑作用。由于邊緣點像素的灰度值與其領(lǐng)域點像素的灰度值有顯著不同,在實際應(yīng)用中通常采用微分算子和模板匹配方法檢測圖像的邊緣。Prewitt算子不僅能檢測邊緣點,而且能抑制噪聲的影響,因此對灰度和噪聲較多的圖像處理得較好。
兩個卷積核Gx=[-1 0 1 -2 0 2 -1 0 1],Gy=[1 2 1 0 0 0-1 -2 -1]

clc;                %clc的作用就是清屏幕
clear;              %clear是刪除所有的變量
close all;          %close all是將所有打開的圖片關(guān)掉。
i=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
I=im2gray(i);
BW1=edge(I, 'prewitt',0.04);     % 0.04為梯度閾值
subplot(1,2,1)
imshow(I);
title('原圖像')
subplot(1,2,2),
imshow(BW1);
title('Prewitt算子檢測邊緣')

matlab中圖像分割技術(shù)之一邊緣檢測
(4)拉普拉斯(Laplacian)算子
如果所求的一階導(dǎo)數(shù)高于某一閾值,則可確定該點為邊緣點,這樣做會導(dǎo)致檢測的邊緣點太多。一種更好的方法就是求梯度局部最大值對應(yīng)的點,并認(rèn)定它們是邊緣點,若用閾值來進(jìn)行邊緣檢測,則在a和b之間的所有點都被記為邊緣點。但通過去除一階導(dǎo)數(shù)中的非局部最大值,可以檢測出更精確的邊緣。
(5)LOG(Laplacian-Gauss)算子
高斯濾波和拉普拉斯邊緣檢測結(jié)合在一起,形成LOG算法,也稱之為拉普拉斯高斯算法。LOG算子是對Laplacian算子的一種改進(jìn),它需要考慮5×5鄰域的處理,從而獲得更好的檢測效果。

clc;                %clc的作用就是清屏幕
clear;              %clear是刪除所有的變量
close all;          %close all是將所有打開的圖片關(guān)掉。
i=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
I=im2gray(i);
BW1=edge(I, 'log',0.003,2);                 %sigma=2
subplot(1,3,1);
imshow(I);
title('原圖像')
subplot(1,3,2);
imshow(BW1);
title(' sigma =2的LOG算子檢測的邊緣')
BW1=edge(I, 'log',0.003,3);                 % sigma=3
subplot(1,3,3);
imshow(BW1);
title('sigma =3的LOG算子檢測的邊緣')

matlab中圖像分割技術(shù)之一邊緣檢測
(6)坎尼(Canny)算子
檢測階躍邊緣的基本思想是在圖像中找出具有局部最大梯度幅值的像素點。檢測階躍邊緣的大部分工作集中在尋找能夠用于實際圖像的梯度數(shù)字逼近。

clc;                %clc的作用就是清屏幕
clear;              %clear是刪除所有的變量
close all;          %close all是將所有打開的圖片關(guān)掉。
i=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
I=im2gray(i);
BW1=edge(I, 'canny',0.2);      %Canny算子邊緣檢測
subplot(1,2,1);
imshow(I);
title('原圖像')
subplot(1,2,2);
imshow(BW1);
title('Canny算子邊緣檢測')

matlab中圖像分割技術(shù)之一邊緣檢測

%%所有都放一起比較
clc;                %clc的作用就是清屏幕
clear;              %clear是刪除所有的變量
close all;          %close all是將所有打開的圖片關(guān)掉。
i=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
I=im2gray(i);
BW1=edge(I, 'Roberts',0.04);        %Roberts算子
BW2=edge(I, 'Sobel',0.04);          %Sobel算子
BW3=edge(I, 'Prewitt',0.04);        %Prewitt算子
BW4=edge(I, 'LOG',0.004);           % LOG算子
BW5=edge(I, 'Canny',0.04);          % Canny算子
subplot(2,3,1),
imshow(I);
title('原圖像');
subplot(2,3,2),
imshow(BW1)
title('Roberts ')
subplot(2,3,3),
imshow(BW2)
title(' Sobel ')
subplot(2,3,4),
imshow(BW3)
title(' Prewitt ')
subplot(2,3,5),
imshow(BW4)
title(' LOG ')
subplot(2,3,6),
imshow(BW5)
title('Canny ')

matlab中圖像分割技術(shù)之一邊緣檢測
Roberts算子提取邊緣的結(jié)果邊緣較粗,邊緣定位不很準(zhǔn)確,Sobel算子和Prewitt算子對邊緣的定位就準(zhǔn)確了一些,而采用拉普拉斯高斯算子進(jìn)行邊緣提取的結(jié)果要明顯優(yōu)于前三種算子,特別是邊緣比較完整,位置比較準(zhǔn)確。相比而言,Canny算子提取的邊緣最為完整,而且邊緣的連續(xù)性很好,效果優(yōu)于以上其他算子,這主要是因為它進(jìn)行了“非極大值抑制”和形態(tài)學(xué)連接操作的結(jié)果。

(7)利用霍夫(Hough)變換
檢測圖像邊緣的算法Hough變換本來是應(yīng)用于直線檢測中的,充分體現(xiàn)了Hough變換具有明了的幾何解析性、一定的抗干擾能力以及易于實現(xiàn)并行處理等優(yōu)點。

		clc;                %clc的作用就是清屏幕
		clear;              %clear是刪除所有的變量
		close all;          %close all是將所有打開的圖片關(guān)掉。
		I=imread('E:\我的桌面\MATLAB\練習(xí)\3.jpg'); %讀取圖像
		rotI=rgb2gray(I);
		subplot(2,2,1);
        imshow(rotI);
        title('灰度圖像');
        axis([50,250,50,200]);
        grid on;
        axis on;
        BW=edge(rotI, 'prewitt');          %prewitt算子邊緣檢測
        subplot(2,2,2);
        imshow(BW);
        title('prewitt算子邊緣檢測后圖像');
        axis([50,250,50,200]);
        grid on;
        axis on;
        [H, T, R]=hough(BW);               %霍夫變換
        subplot(2,2,3);
        imshow(H, [], 'XData', T, 'YData', R, 'InitialMagnification', 'fit');
        title('霍夫變換圖');
        xlabel('\theta'), ylabel('\rho');
        axis on , axis normal, hold on;
        P=houghpeaks(H,5, 'threshold', ceil(0.3*max(H(:))));
        x=T(P(:,2)); y=R(P(:,1));
        plot(x, y, 's', 'color', 'white');
        lines=houghlines(BW, T, R, P, 'FillGap',5, 'MinLength',7);
        subplot(2,2,4); , imshow(rotI);
        title('霍夫變換圖像檢測');
        axis([50,250,50,200]);
        grid on;
        axis on;
        hold on;
        max_len=0;
        for k=1:length(lines)
        xy=[lines(k).point1; lines(k).point2];
        plot(xy(:,1), xy(:,2), 'LineWidth',2, 'Color', 'green');
        plot(xy(1,1), xy(1,2), 'x', 'LineWidth',2, 'Color', 'yellow');
        plot(xy(2,1), xy(2,2), 'x', 'LineWidth',2, 'Color', 'red');
        len=norm(lines(k).point1-lines(k).point2);
        if(len>max_len)
        max_len=len;
        xy_long=xy;
        end
        end
        plot(xy_long(:,1), xy_long(:,2), 'LineWidth',2, 'Color', 'cyan');

matlab中圖像分割技術(shù)之一邊緣檢測文章來源地址http://www.zghlxwxcb.cn/news/detail-462656.html

到了這里,關(guān)于matlab中圖像分割技術(shù)之一邊緣檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 圖像分割--點、線和邊緣檢測

    圖像分割是指將圖像細(xì)分為構(gòu)成它的子區(qū)域或物體 本章算法基于灰度值的兩個基本性質(zhì)之一:不連續(xù)性和相似性 就像局部平均平滑一幅圖像那樣,假設(shè)平均處理類似于積分,對于灰度的突變,局部變化可以用微分來檢測 使用空間濾波器來計算圖像中每個像素位置處的一階導(dǎo)

    2024年02月09日
    瀏覽(18)
  • python數(shù)字圖像處理基礎(chǔ)(五)——Canny邊緣檢測、圖像金字塔、圖像分割

    python數(shù)字圖像處理基礎(chǔ)(五)——Canny邊緣檢測、圖像金字塔、圖像分割

    梯度是什么? 梯度就是變化的最快的那個方向 edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]]) 第一個參數(shù)是需要處理的原圖像,該圖像必須為單通道的灰度圖; 第二個參數(shù)是閾值1; 第三個參數(shù)是閾值2。 原理步驟 1)使用高斯濾波器,以平滑圖像,濾除噪

    2024年01月18日
    瀏覽(28)
  • OPENCV C++圖像提取,圖像處理,roi,閾值分割,連通區(qū)域篩選,邊緣檢測(以箱子邊緣框選為例)

    OPENCV C++圖像提取,圖像處理,roi,閾值分割,連通區(qū)域篩選,邊緣檢測(以箱子邊緣框選為例)

    本周有機會接觸了一點opnev, 在此做一下記錄, 最終以 框選出下圖箱子為目的( 圖片箱子為相機實拍結(jié)果,曝光有點低,會有億點點暗 ), 本文會拆解步驟并附上圖片, 完整的源碼在最后.PS: 本文參考了好多大佬分享的理論知識, 在此先感謝大佬的分享~~ 首先是梳理一下流程, 下圖是

    2024年02月07日
    瀏覽(27)
  • 【邊緣檢測】基于matlab八方向sobel圖像邊緣檢測【含Matlab源碼 1865期】

    【邊緣檢測】基于matlab八方向sobel圖像邊緣檢測【含Matlab源碼 1865期】

    ?博主簡介:熱愛科研的Matlab仿真開發(fā)者,修心和技術(shù)同步精進(jìn),Matlab項目合作可私信。 ??個人主頁:海神之光 ??代碼獲取方式: 海神之光Matlab王者學(xué)習(xí)之路—代碼獲取方式 ??座右銘:行百里者,半于九十。 更多Matlab仿真內(nèi)容點擊?? Matlab圖像處理(進(jìn)階版) 路徑規(guī)劃

    2024年02月05日
    瀏覽(29)
  • 【計算機視覺】圖像分割與特征提取——基于Log、Canny的邊緣檢測

    【計算機視覺】圖像分割與特征提取——基于Log、Canny的邊緣檢測

    個人簡介:? ??個人主頁:趙四司機 ??學(xué)習(xí)方向:JAVA后端開發(fā)? ?往期文章:SpringBoot項目整合微信支付 ??博主推薦網(wǎng)站:牛客網(wǎng) 刷題|面試|找工作神器 ??種一棵樹最好的時間是十年前,其次是現(xiàn)在! ??喜歡的話麻煩點點關(guān)注喔,你們的支持是我的最大動力。 前言:

    2024年02月03日
    瀏覽(91)
  • 圖像處理——邊緣檢測(MATLAB實現(xiàn))

    圖像處理——邊緣檢測(MATLAB實現(xiàn))

    實驗表明,人眼對圖像中邊緣的識別不是通過設(shè)置閾值來分割的,目標(biāo)的邊緣一般表現(xiàn)為灰度(對彩色圖像還包括色度)的特變。對于人類的視覺感知,圖像邊緣對理解圖像內(nèi)容起到關(guān)鍵作用。在灰度漸變的圖像中無法區(qū)分其灰度變化的邊界,但如果邊界灰度有突變,則可以區(qū)

    2024年02月03日
    瀏覽(23)
  • 【圖像處理】基于matlab蟻群聚類圖像邊緣檢測

    目錄 基于matlab蟻群聚類圖像邊緣檢測 蟻群聚類是一種模擬自然界中螞蟻群體行為的算法,常用于解決優(yōu)化問題。該算法可以用于圖像處理中的邊緣檢測。下面給出一個基于MATLAB的蟻群聚類圖像邊緣檢測的示例代碼。 我們首先讀入待處理圖像,并將其轉(zhuǎn)換為灰度圖像。然后,

    2023年04月22日
    瀏覽(22)
  • 8 圖像去噪 濾波 銳化 邊緣檢測案例(matlab程序)

    8 圖像去噪 濾波 銳化 邊緣檢測案例(matlab程序)

    1. 簡述 ? ? ???學(xué)習(xí)目標(biāo):一個圖像處理的經(jīng)典綜合案例 一、圖像銳化的原理 ??圖像銳化的目的是凸顯物體的細(xì)節(jié)輪廓,通??梢杂锰荻取aplace算子和高通濾波來實現(xiàn),下面一一說明: 1、梯度法 梯度計算可以參考 小白學(xué)習(xí)圖像處理——canny邊緣檢測算法 ,假設(shè)Gx為x方

    2024年02月12日
    瀏覽(18)
  • 【圖像處理】基于matlab邊緣檢測 Sobel、Roberts、Prewitt

    【圖像處理】基于matlab邊緣檢測 Sobel、Roberts、Prewitt

    Sobel 算子算子包含兩組 3x3 的矩陣,如圖所示: 對于圖像而言,取 3 行 3 列的圖像數(shù)據(jù),將圖像數(shù)據(jù)與對應(yīng)位置的算子的值相乘再相加,得到 x 方向的 Gx ,和 y 方向的 Gy ,將得到的 Gx 和 Gy ,平方后相加,再取算術(shù)平方根,得到 Gxy ,近似值為 Gx 和 Gy 絕對值之和,將計算得

    2024年02月04日
    瀏覽(33)
  • 畢業(yè)設(shè)計-基于 MATLAB 的圖像邊緣檢測算法的研究和實現(xiàn)

    畢業(yè)設(shè)計-基于 MATLAB 的圖像邊緣檢測算法的研究和實現(xiàn)

    目錄 前言 課題背景和意義 實現(xiàn)技術(shù)思路 一、MATLAB概述 二、圖像邊緣檢測 實現(xiàn)效果圖樣例 最后 ? ? ??大四是整個大學(xué)期間最忙碌的時光,一邊要忙著備考或?qū)嵙?xí)為畢業(yè)后面臨的就業(yè)升學(xué)做準(zhǔn)備,一邊要為畢業(yè)設(shè)計耗費大量精力。近幾年各個學(xué)校要求的畢設(shè)項目越來越難,有不

    2023年04月11日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包