欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matlab實(shí)現(xiàn)圖像邊緣檢測(cè)

 更新時(shí)間:2021年10月25日 16:10:31   作者:混z  
這篇文章主要為大家詳細(xì)介紹了Matlab實(shí)現(xiàn)圖像邊緣檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

為了在一幅圖像 f 的(x,y)位置尋找邊緣的強(qiáng)度和方向,所選擇的工具就是梯度,梯度使用向量來表示:

該向量指出了圖像 f 在位置(x,y)處的最大變化率的方向,梯度向量的大小表示為:

它是梯度向量方向變化率的值。
梯度向量的方向表示為:

梯度算子

roberts算子:

sobel算子:

prewitt算子:

Matlab實(shí)現(xiàn)

function output = my_edge(input_img,method)
if size(input_img,3)==3
    input_img=rgb2gray(input_img);
end

input_img=im2double(input_img);
sobel_x=[-1,-2,-1;0,0,0;1,2,1];
sobel_y=[-1,0,1;-2,0,2;-1,0,1];
prewitt_x=[-1,-1,-1;0,0,0;1,1,1];
prewitt_y=[-1,0,1;-1,0,1;-1,0,1];

psf=fspecial('gaussian',[5,5],1);
input_img=imfilter(input_img,psf);%高斯低通濾波,平滑圖像,但可能會(huì)使圖像丟失細(xì)節(jié)
input_img=medfilt2(input_img); %中值濾波消除孤立點(diǎn)
[m,n]=size(input_img);
output=zeros(m,n);
if nargin==2
    if strcmp(method,'sobel')
        for i=2:m-1
            for j=2:n-1
                local_img=input_img(i-1:i+1, j-1:j+1);
%近似邊緣檢測(cè),加快速度    %output(i,j)=abs(sum(sum(sobel_x.*local_img)))+abs(sum(sum(sobel_x.*local_img)));
                output(i,j)=sqrt(sum(sum(sobel_x.*local_img))^2+sum(sum(sobel_y.*local_img))^2);
            end
        end
    elseif strcmp(method,'prewitt')
          for i=2:m-1
            for j=2:n-1
                local_img=input_img(i-1:i+1, j-1:j+1);
                output(i,j)=sqrt(sum(sum(prewitt_x.*local_img))^2+sum(sum(prewitt_y.*local_img))^2);
            end
          end
    else
        errordlg('maybe you should input sobel or prewitt');
    end
else  %如果不輸入算子的名稱,默認(rèn)使用roberts算子進(jìn)行邊緣檢測(cè)
    for i=1:m-1
        for j=1:n-1
            output(i,j)=abs(input_img(i,j)-input_img(i+1,j+1))+ ...
                abs(input_img(i+1,j)-input_img(i,j+1));
        end
    end
end

output=imadjust(output);%使邊緣圖像更明顯
thresh=graythresh(output);%確定二值化閾值
output=bwmorph(im2bw(output,thresh),'thin',inf);%強(qiáng)化細(xì)節(jié)
end

代碼效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于python解線性矩陣方程(numpy中的matrix類)

    基于python解線性矩陣方程(numpy中的matrix類)

    這篇文章主要介紹了基于python解線性矩陣方程(numpy中的matrix類),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python批量將csv文件轉(zhuǎn)化成xml文件的實(shí)例

    Python批量將csv文件轉(zhuǎn)化成xml文件的實(shí)例

    將 csv 格式轉(zhuǎn)換成xml格式有許多方法,可以用數(shù)據(jù)庫的方式,也有許多軟件可以將 csv 轉(zhuǎn)換成xml。但是比較麻煩,本文利用 Python 一鍵批量將 csv 文件轉(zhuǎn)化成 xml 文件。
    2021-05-05
  • Python正則表達(dá)式匹配ip地址實(shí)例

    Python正則表達(dá)式匹配ip地址實(shí)例

    這篇文章主要介紹了Python正則表達(dá)式匹配ip地址實(shí)例,通過簡(jiǎn)單的實(shí)例講述了re模塊的用法,該實(shí)例非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • Python使用docx模塊編輯Word文檔

    Python使用docx模塊編輯Word文檔

    docx提供了一組功能豐富的函數(shù)和方法,用于創(chuàng)建、修改和讀取Word文檔,Python可以用它對(duì)word文檔進(jìn)行大批量的編輯,下面小編就來通過一些示例為大家好好講講吧
    2023-07-07
  • Python實(shí)現(xiàn)隱馬爾可夫模型的前向后向算法的示例代碼

    Python實(shí)現(xiàn)隱馬爾可夫模型的前向后向算法的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)隱馬爾可夫模型的前向后向算法,本文通過實(shí)例代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python回調(diào)函數(shù)的使用方法

    python回調(diào)函數(shù)的使用方法

    在計(jì)算機(jī)程序設(shè)計(jì)中,回調(diào)函數(shù),或簡(jiǎn)稱回調(diào)(Callback),是指通過函數(shù)參數(shù)傳遞到其它代碼的,某一塊可執(zhí)行代碼的引用。這一設(shè)計(jì)允許了底層代碼調(diào)用在高層定義的子程序
    2014-01-01
  • Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)

    Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)

    本文主要介紹了Pandas缺失值填充 df.fillna()的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 全面了解python字符串和字典

    全面了解python字符串和字典

    下面小編就為大家?guī)硪黄媪私鈖ython字符串和字典。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • python range實(shí)例用法分享

    python range實(shí)例用法分享

    在本篇文章里小編給大家整理了關(guān)于python range實(shí)例用法,有需要的朋友們可以學(xué)習(xí)參考下
    2020-02-02
  • python namedtuple函數(shù)的使用

    python namedtuple函數(shù)的使用

    今天介紹collections里面的一個(gè)好用的小函數(shù): namedtuple函數(shù)(不創(chuàng)類而可以擁有類的便利),例如可以使用object.attribute
    2021-06-06

最新評(píng)論