最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Matlab實現(xiàn)圖像邊緣檢測

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

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

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

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

梯度算子

roberts算子:

sobel算子:

prewitt算子:

Matlab實現(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);%高斯低通濾波,平滑圖像,但可能會使圖像丟失細(xì)節(jié)
input_img=medfilt2(input_img); %中值濾波消除孤立點
[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);
%近似邊緣檢測,加快速度    %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算子進行邊緣檢測
    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);%強化細(xì)節(jié)
end

代碼效果:

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

相關(guān)文章

最新評論

汝州市| 丰顺县| 淄博市| 哈尔滨市| 青神县| 桦川县| 塔河县| 韶关市| 多伦县| 莱阳市| 垫江县| 定西市| 建水县| 阿拉尔市| 阜新市| 胶南市| 玉林市| 历史| 河北省| 社旗县| 敦化市| 清苑县| 麟游县| 册亨县| 沾化县| 宁城县| 普安县| 石狮市| 同德县| 来宾市| 山西省| 平武县| 宁晋县| 会昌县| 合江县| 肃南| 金门县| 札达县| 扬中市| 南靖县| 鹤壁市|