Pages: [1]   Go Down
Print
Author Topic: Aiuto esercizio kernel  (Read 1822 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Raro89
Apprendista Forumista
**
Offline Offline

Posts: 121



« on: 30-11-2009, 21:50:08 »

ciao ragazzi ho provato a fare l'esercizio che ha detto il prof oggi a lezione, applicare il kernel ad una immagie, ma ho un problema con la formula della sommatoria...potete postare per favore il codice della formula se qualcuno lo ha fatto?Huh?
grazie in anticipo...
ciao a tutti...
Logged
Raro89
Apprendista Forumista
**
Offline Offline

Posts: 121



« Reply #1 on: 01-12-2009, 11:31:35 »

ragazzi quindi nessuno sa dirmi come scrivere questa formula in matlab?Huh?
Link Immagine

oppure questa???
Link Immagine

grazie in anticipo

ciao a tutti...!!!
Logged
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« Reply #2 on: 02-12-2009, 16:38:27 »

c'è un problema però...la seconda sommatoria dovrebbe scorrere il kernel cioè f considerando gli indici da 1 a 3 però andando a sostituire la i nella formula si ottengono invece gli indici da -1 a 1...non capisco..
Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
rox
Forumista
***
Offline Offline

Posts: 633


« Reply #3 on: 02-12-2009, 21:38:35 »

per quanto ho capito io la prima formula considera il kernel in cui l'elemento centrale ha coordinate 0,0;mentre la seconda formula considera l'elemento centrale avente coordinate seed(k/2),seed(h/2).Spero d non aver sbagliato e di essermi spiegato...
Logged

Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« Reply #4 on: 03-12-2009, 00:50:29 »

Si infatti..quindi gli indici della seconda dovrebbero andare da 1 a 3 per f invece vanno da -1 a 1
Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
Alex_47
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 409


The spiral's King


« Reply #5 on: 03-12-2009, 17:50:03 »

Ragazzi ho fatto la convoluzione con il kernel usando la formula , mi è venuta in questo modo...

Code:
%convoluzione

G = imread('lena.jpg');
figure,imshow(I,[]),title('originale');


F=[1 1 1;...
   1 1 1;...
   1 1 1];

[m,n] = size(G);

B = zeros(m,n);

val = 0;



for i = 2 : (m-1)
   
    for j = 2 : (n-1)
       
        for x = 1 : 3
           
            for y = 1 : 3
               
                val = val + F(x,y) * G(i+(x-3+1),j+(y-3+1 ) );
            end
        end
       
        B(i,j) = val;
        val = 0;
    end
end

figure,imshow(B,[]),title('filtro Applicato');



se si sono domande , o consigli per migliorare il codice postate pure...
Logged
Alex_47
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 409


The spiral's King


« Reply #6 on: 03-12-2009, 18:06:44 »

Questa è per impostare li intorni a 0

Code:
B = zeros(m+1,n+1);

val = 0;

for i = 1 : m
   
    if i==1
        B(i,:) = 0;
    elseif i==m
        B(i,:) = 0;
    end
       
   
    for j = 1 : n
       
        if j==1
            B(:,j) = 0;
        elseif j==n
            B(:,j) = 0;
        elseif i ~= 1
            B(i,j) = G(i,j);
        end
    end
end

figure,imshow(uint8(B),[]),title('immagine a intorno 0');

Logged
Pages: [1]   Go Up
Print
Jump to: