Pages: [1] 2 3   Go Down
Print
Author Topic: Shift invariant ???  (Read 7209 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« on: 04-02-2011, 11:48:19 »

 ciao ragazzi ho parecchi dubbi riguardo agli operatori shift invariant.
-Come si fa a riconoscere se un operatore è shift invariant?
-Quali sono i procedimenti da seguire per capirlo?
-Per esempio l'operatore mediano è shift invariant, ma per quale motivo?Da dove si vede?
-E per glia altri operatori?
Logged
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #1 on: 04-02-2011, 11:53:38 »

Un operatore è shift invariant se il suo comportamento non dipende dalla posizione del pixel ma dal suo valore.
Lo puoi osservare dalle matrici, negli esercizi in cui chiede se un operatore è shift invariant hai matrici come:

11 10 20              1  12  22
20    5  4       ---> 22  7  6

Prendi l' elemento 20, il suo valore dopo aver applicato l' operatore(freccia) è sempre 22 e non cambia al variare della posizione del pixel.

L' operatore mediano è shift invariant perchè non dipende dalla posizione del pixel, ma dipende dall' intorno del pixel.

http://www.dmi.unict.it/fstanco/lezioni_IEM_2007_2008/scritto_090309_soluz.pdf

Punto 3 DOMANDA 2
« Last Edit: 04-02-2011, 11:57:43 by Daréios » Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #2 on: 04-02-2011, 12:18:43 »

ok,fino a qui ci sono,però non capisco per esempio riguardo l'operatore mediano: se prendo un pixel di coordinate (1,1) che vale per esempio 20, questo valore viene trasformato nel valore 40 nelle coordinate (1,3) della seconda matrice per esempio, ma in un altro punto di diverse coordinate, non è più detto che si trasforma sempre nel 40, e quindi non dovrebbe essere shift invariant. E' questo che ancora non riesco a capire testate
Logged
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #3 on: 04-02-2011, 12:27:15 »

Mh non ho nemmeno io le idee chiarissime, una soluzione, o idea mi è venuta rispondendoti prima.
Cioè si, i valori cambiano, ma credo che il punto è che questo cambiamento non è dovuto alla posizione in se, ma all' intorno, capito?
Cioè è vero quello che tu dici, se io prendo 20 in un dato punto, e poi in un altro può cambiare, ma se cambia non dipende dalla posizione, ma dal fatto che cambiano i numeri attoro, se prendi il 20, e lo sposti in un altro pixel, ma attorno gli metti gli stessi valori, il mediano coinciderà giusto? Quindi è shift invarian perchè anche se in realtà varia, l' operatore si dice shift invariant se il suo comportamente non dipenda dalla posizione, e nel nostro caso è vero, perchè la variazione NON dipende dalla posizione, ma da un altro fattore, l' INTORNO.
Come risponderesti invece alla domanda in cui si chiede di spiegare bene come viene applicato l' operatore bilineare ad un generico punto?
E se invece ti si chiede di determinare la codifica ottimale di campionamento per un' immagine di dimensione 300*200?
« Last Edit: 04-02-2011, 12:28:46 by Daréios » Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #4 on: 04-02-2011, 12:37:40 »

hai ragione, la penso esattamente come te boh..però mi sorge una domanda: ma allora a questo punto ne esistono di operatori non invarianti per traslazione??

-per quanto riguarda l'operatore bilineare si dovrebbe applicare facendo la media dei 4 pixell che stanno agli angoli del quadrato 3x3, ma mi sono accorto che nell'esercizio svolto il valore del pixel non corrisponde boh,dubbio!
- per quanto riguarda il campionamento ottimale, si fa: siccome l'img è 300*200, si separa il ragionamento prima per le righe (300) e poi per le colonne(200); quindi 300/dettaglio più piccolo e poi il risulatato si moltiplica x2(doppio della frequanza di Nyquist), e lo stesso ragionamento si fa per le colonne: cioè 200/dettaglio più piccolo e il risultato x2
Logged
turì
Apprendista Forumista
**
Offline Offline

Posts: 275



« Reply #5 on: 04-02-2011, 12:45:24 »

se provate a fare un esercizio lo capite meglio

io ho provato con una matrice inventata cosi

2  4  1
3  5  7
2  3  2

se provate a calcolare l'operatore mediano su tutta la matrice capite perchè esso è shift invariant
Logged
207
Matricola
*
Offline Offline

Posts: 95


« Reply #6 on: 04-02-2011, 13:04:34 »

Io la penso come pippo, non riesco a capire perchè è shift invariant.
Logged
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #7 on: 04-02-2011, 13:06:37 »

se provate a fare un esercizio lo capite meglio

io ho provato con una matrice inventata cosi

2  4  1
3  5  7
2  3  2

se provate a calcolare l'operatore mediano su tutta la matrice capite perchè esso è shift invariant
ma per applicare l'operatore mediano in questo caso bisogna riempire di zero i bordi?
Logged
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #8 on: 04-02-2011, 13:09:25 »

Ma io sinceramente continuo a ribadire perchè dipende dall' intorno e non dalla posizione.
Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
turì
Apprendista Forumista
**
Offline Offline

Posts: 275



« Reply #9 on: 04-02-2011, 13:11:09 »

se provate a fare un esercizio lo capite meglio

io ho provato con una matrice inventata cosi

2  4  1
3  5  7
2  3  2

se provate a calcolare l'operatore mediano su tutta la matrice capite perchè esso è shift invariant
ma per applicare l'operatore mediano in questo caso bisogna riempire di zero i bordi?

si ovvio
Logged
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #10 on: 04-02-2011, 13:12:17 »

A me risulta:

0 0 0
2 3 1
2 3 2

Ho sbagliato?
Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #11 on: 04-02-2011, 14:03:17 »

A me risulta:

0 0 0
2 3 1
2 3 2

Ho sbagliato?
A me viene:   0 2 0
                     2 3 2
                     0 2 0
Logged
turì
Apprendista Forumista
**
Offline Offline

Posts: 275



« Reply #12 on: 04-02-2011, 14:12:06 »

il risultato a me viene come quello di pippo.

adesso se confronti ti accorgi che dove prima c'erano i 2 adesso ci sono gli 0 e dove c'erano i 3 ci sono i 2

quindi è shift invariant
Logged
mafalda
Apprendista Forumista
**
Offline Offline

Posts: 430


CЯΣDΣЯCI SΣMPЯΣ, ΛЯЯΣПDΣЯSI MΛI!


« Reply #13 on: 04-02-2011, 14:20:03 »

Ho capito perchè è shift invariant, ma non ho capito come ve la siete ricavati questa nuova matrice..qualcuno mi aiuta?
Logged

...๔єςเ, ๔єςเ, ๔єςเ...
turì
Apprendista Forumista
**
Offline Offline

Posts: 275



« Reply #14 on: 04-02-2011, 14:26:16 »

prima di tutto prendi la matrice di partenza e la riscrivi in modo che sia completamente attorniata di 0

vedrai che la matrice 3x3 diventa 5x5

adesso come si applica il mediano?

a ogni valore della matrice sostituisci il valore medio dei pixel in questo modo

0  0  0  0  0
0  2  4  1  0
0  3  5  7  0
0  2  3  2  0
0  0  0  0  0

partiamo col 2 posizione (1,1) in questo caso

il mediano presumiamo essere 3x3 quindi prendi i 9 pixel che hanno come centro il 2 quindi

0  0  0
0  2  4
0  3  5

li sistemi in ordine dal più piccolo al più grande quindi

0,0,0,0,0,2,3,4,5

adesso scegli quello che sta a metà cioè lo 0 e lo sostituisci al 2

e cosi via via tutti gli altri
Logged
Pages: [1] 2 3   Go Up
Print
Jump to: