Znn3bq.jpeg
²é¿´: 303  |  »Ø¸´: 0

ÌÀºÍ¼Ó·Æ

Òø³æ (СÓÐÃûÆø)

[ÇóÖú] ÏÂÃæµÄCanny±ßÔµÌáÈ¡´úÂë´íÔÚÄÄÀ

ÏÂÃæµÄ³ÌÐò´íÔÚÄÄÀΪʲôÌáÈ¡³öµÄ±ßԵͼÏñÈ«ºÚ£¬¶øÈç¹ûɾµô¸ß˹Â˲¨´úÂ룬·´¶øÄܹ»³öÀ´½á¹û£¿


I=imread('F:\rose.jpg');%¶ÁÈëԭʼͼƬ
figure, imshow(I),title('ԭͼ');
Y=rgb2gray(I); %°Ñ²ÊɫͼƬת»¯³É»Ò¶ÈͼƬ£¬256¼¶
figure, imshow(Y),title('»Ò¶ÈͼÏñ');
I1=double(Y);
[m,n]=size(I1);
%£¨1£©Óøß˹Â˲¨Æ÷ƽ»¬Í¼Ïñ
sigma=2;N=5;%¶¨Òå¸ß˹²ÎÊý
[d,f]=meshgrid([-(N-1)/2N-1)/2],[-(N-1)/2N-1)/2]);
g=exp(-((d.*d+f.*f)/(2*sigma.*sigma)));
S=conv2(Y,g,'same');%¶þά¾í»ýµÃµ½¸ß˹Â˲¨ºóµÄͼÏó  
I1=mat2gray(S);%¹éÒ»»¯£¬Ê¹¾ØÕóÖÐÿ¸öÔªËØµÄÖµ¶¼ÔÚ0-1Ö®¼ä
% gaussian=[1/79 2/79 3/79 2/79 1/79; 2/79 4/79 6/79 4/79 2/79; 3/79 6/79 7/79 6/79 3/79; 2/79 4/79 6/79 4/79 2/79; 1/79 2/79 3/79 2/79 1/79];
%  I1 =conv2(I1,gaussian);  
imshow(I1);title('¸ß˹Â˲¨½á¹û');
%£¨2£©ÓÃÒ»½×Æ«µ¼µÄÓÐÏÞ²î·ÖÀ´¼ÆËãÌݶȵķùÖµºÍ·½Ïò£»
IP=zeros(m,n);
IQ=zeros(m,n);
f=zeros(m,n);
a=zeros(m,n);
for x=1:m-1
for y=1:n-1
    IP(x,y)=(I1(x,y+1)-I1(x,y)+I1(x+1,y+1)-I1(x+1,y))/2;
    IQ(x,y)=(I1(x,y)-I1(x+1,y)+I1(x,y+1)-I1(x+1,y+1))/2;
    f(x,y)=sqrt(IP(x,y)^2+IQ(x,y)^2);%ÌݶȷùÖµ¾ØÕó
    a(x,y)=0;
    if(IP(x,y)<0)
        a(x,y)=atan(IQ(x,y)/IP(x,y))+pi/2;
    else
        a(x,y)=atan(IQ(x,y)/IP(x,y));
    end
end
end
% H1 = [-1 -1; 1 1];
% H2 = [1 -1; 1 -1];
% fx = conv2(I1,H1);
% fy = conv2(I1,H2);
% f = sqrt(fx.^2 + fy.^2);
% a = atan(fx./eps(fy));
for i = 1:m
    for j = 1:n
        if(a(i,j) > -pi/8 && a(i,j) <= pi/8)
            a(i,j) = 0;
        elseif(a(i,j) > pi/8 && a(i,j) <= 3*pi/8)
            a(i,j) = 1;
        elseif((a(i,j) > 3*pi/8 || a(i,j) <= -3*pi/8))
            a(i,j) = 2;
        else
            a(i,j) = 3;
        end
    end
end
%£¨3£©¶ÔÌݶȷùÖµ½øÐзǼ«´óÖµÒÖÖÆ£»
F = f;
for i =2m-1)  
    for j=2n-1)
        switch(a(i,j))
            case 0
                if(F(i,j) <= F(i,j-1) || F(i,j) <= F(i,j+1))
                    f(i,j) = 0;
                end
            case 1
                if(F(i,j) <= F(i-1,j+1) || F(i,j) <= F(i+1,j-1))
                    f(i,j) = 0;
                end
            case 2
                 if(F(i,j) <= F(i-1,j) || F(i,j) <= F(i+1,j))
                    f(i,j) = 0;
                 end
            case 3
                 if(F(i,j) <= F(i-1,j-1) || F(i,j) <= F(i+1,j+1))
                    f(i,j) = 0;
                 end
        end
    end
end
figure,imshow(f),title('·Ç¼«´óÖµÒÖÖÆºó½á¹û');
%step4:ÓÃË«ãÐÖµËã·¨¼ì²âºÍÁ¬½Ó±ßÔµ¡£
t1 =str2double(get(handles.edit1,'string'));%µÍãÐÖµ
t2 =str2double(get(handles.edit2,'string'));%¸ßãÐÖµ
Canny_1 = zeros(m,n);
Canny_2 = zeros(m,n);
for i = 1:m
    for j =1:n
        if(f(i,j) >= t1 )
            Canny_1(i,j) = 255;
        else
            Canny_1(i,j) = 0;
        end
        if(f(i,j) >= t2 )
            Canny_2(i,j) = 255;
        else
            Canny_2(i,j) = 0;
        end
    end
end

for i = 2m-1)
    for j = 2n-1)
        if((Canny_1(i,j)==255) && (Canny_2(i,j)~=255))
            if((Canny_2(i-1,j-1)==255) || (Canny_2(i-1,j)==255) || (Canny_2(i-1,j+1)==255)|| ( Canny_2(i,j-1)==255 ) || (Canny_2(i,j+1)==255) || (Canny_2(i+1,j-1)==255) || (Canny_2(i+1,j)==255) ||(Canny_2(i+1,j+1) ==255))
                Canny_2(i,j)=255;
            end
        end
    end
end
Canny=Canny_2;      
title('CannyËã×ÓÌáÈ¡µÄ±ßÔµ');
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÖÇÄÜ»úÆ÷ÈË

Robot (super robot)

ÎÒÃǶ¼°®Ð¡Ä¾³æ

ÕÒµ½Ò»Ð©Ïà¹ØµÄ¾«»ªÌû×Ó£¬Ï£ÍûÓÐÓÃŶ~

¿ÆÑдÓСľ³æ¿ªÊ¼£¬ÈËÈËΪÎÒ£¬ÎÒΪÈËÈË
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ ÌÀºÍ¼Ó·Æ µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 0703»¯Ñ§ +30 ÄÝÄÝninicgb 2026-04-04 33/1650 2026-04-09 14:49 by ajpv·çÀ×
[¿¼²©] ²©Ê¿×Ô¼ö +3 ¿É¿ÉСÅÖ 2026-04-08 3/150 2026-04-09 11:25 by juanzi_88
[¿¼ÑÐ] Çóµ÷¼Á +7 chenxrlkx 2026-04-05 9/450 2026-04-09 09:04 by wj165256
[¿¼ÑÐ] 324Çóµ÷¼Á +17 ÏëÉÏѧÇóµ÷ 2026-04-03 17/850 2026-04-08 20:04 by ÎÒ¼õ·Ê1
[¿¼ÑÐ] ÍÁľˮÀûר˶276·ÖÇóµ÷¼Á +6 ÎÒÏëÉÏѧ£¡£¡6 2026-04-05 9/450 2026-04-08 17:45 by ËÎС±¦HQ
[¿¼ÑÐ] ²ÄÁÏ¿ÆÑ§Ó빤³Ì320Çóµ÷¼Á£¬080500 +12 »Æ¹ÏζÊíÆ¬ 2026-04-06 12/600 2026-04-08 16:26 by luoyongfeng
[¿¼ÑÐ] Çóµ÷¼Á +14 ÕÅzic 2026-04-05 15/750 2026-04-08 16:14 by Ò»Ö»ºÃ¹û×Ó?
[¿¼ÑÐ] 388Çóµ÷¼Á +6 ËÄ´¨ÍõÌÎ 2026-04-07 8/400 2026-04-08 00:17 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸211µç×ÓÐÅÏ¢347Çóµ÷¼Á +3 554916 2026-04-03 3/150 2026-04-07 23:22 by ÈçÈôʱ¹âµ¹Á÷
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤085600 310·ÖÇóµ÷¼Á +20 0856²ÄÁÏÓ뻯¹¤3 2026-04-04 22/1100 2026-04-07 15:14 by Éϰ¶¿ì¿ì
[¿¼ÑÐ] ÐŹ¤Ëù11408 340·Ö ±¾¿ÆÎ÷°²½»´ó×Ô¶¯»¯ +3 moontrek 2026-04-06 3/150 2026-04-07 09:56 by chongya
[¿¼ÑÐ] µ÷¼Á Ò»Ö¾Ô¸¼ªÁÖ´óѧ357·Ö +5 .Starry. 2026-04-04 5/250 2026-04-06 09:28 by cql1109
[¿¼ÑÐ] 277Çóµ÷¼Á +5 ¿¼Ñе÷¼Álxh 2026-04-05 5/250 2026-04-05 19:03 by chy09050039
[¿¼ÑÐ] Ò»Ö¾Ô¸Çà¿Æ085500£¬³õÊÔ295·Ö£¬¹«¹²¿Î213·Ö +3 Óöµ½µÄÈËÔ¸Íû¶¼Ä 2026-04-05 3/150 2026-04-05 18:45 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 288Çóµ÷¼Á Ò»Ö¾Ô¸¹þ¹¤´ó ²ÄÁÏÓ뻯¹¤ +13 ÂåÉñ¸ç¸ç 2026-04-03 13/650 2026-04-05 17:27 by zzx2138
[¿¼ÑÐ] 298·Ö 070300Çóµ÷¼Á +15 zwen03 2026-04-02 15/750 2026-04-05 12:52 by Hdyxbekcb
[¿¼ÑÐ] 295Çóµ÷¼Á +4 AÄãºÃÑо¿Éú 2026-04-04 5/250 2026-04-04 22:46 by yu221
[¿¼ÑÐ] Çóµ÷¼Á +6 Ë·Ë·»° 2026-04-02 7/350 2026-04-04 19:16 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Çó²ÄÁϵ÷¼Á Ò»Ö¾Ô¸Äϲý´óѧ 328·Ö +5 yyy..... 2026-04-03 5/250 2026-04-03 13:46 by °ÙÁéͯ888
[¿¼ÑÐ] 312Çóµ÷¼Á +4 ÉÞÔÂÉ« 2026-04-02 5/250 2026-04-03 08:21 by fangshan711
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û