Trovare i vertici di una figura geometrica con MATLAB.

Giocando ancora, mi è venuta voglia di trovare i vertici di una figura geometrica contenuta in una immagine in scala di grigi.

Per semplicità vorrò trovare i vertici di un rettangolo bianco su uno sfondo nero (ma è banale lavorare con una scala di grigi o direttamente a colori). La potenza di MATLAB ci permette di non usare neanche un ciclo per scansionare la matrice.

% Creo la base della mia immagine 512x512

im=zeros(512,512);

% Posiziono un rettangolo in una zona qualsiasi dell'immagine

im(60:284,90:426)=1;

% Ho riempito quell'area di bianco, adesso voglio trovare i vertici

[m n]=find(im==1);

% Attraverso il find ho salvato le coordinate di tutti i pixel bianchi

minX=min(m);
minY=min(n);
maxX=max(m);
maxY=max(n);

% Sfrutto min() e max() per trovare il valore minimo e massimo di X e Y

a=[minX;minY];
b=[maxX;minY];
c=[maxX;maxY];
d=[minX;maxY];

% Se consideriamo i vertici partendo dall'alto a sinistra e scorrendoli
% in senso orario, ecco le nostre coordinate! :-)
% Basta richiamare le variabili per verificarlo...

Semplice e rapido! 🙂

Emanuele

Baciando due gocce di miele.

Zagabria - Foto di gruppo

Ora splendidi tramonti e pelle scura ti regala,
con un profumo di bianco, questo vento ti regala.
E non è il vento delle isole, freddissimo alle mani,
ma quello che, di spalle, ti porta la stagione dei cieli

Akkura – Cieli blu d’India

Stavo selezionando le foto da stampare e appendere sulla parete della mia scrivania quando mi sono innamorato di questa foto.

La giornata a Zagabria fu proprio bella, eravamo tutti felici. 🙂

Emanuele

Personcine.

Charlie Brown: pensi mai al futuro, Linus?
Linus: oh, sì… sempre!
Charlie Brown: come pensi che vorresti essere da grande?
Linus: vergognosamente felice!

Tratto da: Peanuts di Charles M. Schulz

Io non capisco la gente che borbotta, che si lamenta sia di una giornata di sole che di una giornata di pioggia, di un pranzo pesante o di un pranzo leggero, di una storta alla caviglia (o alla giornata…) superficiale che diventa qualcosa di più grande di ciò che è.

In questo periodo della mia vita, quando piove sono felice di entrare in macchina e sparare il tergicristallo a tre, vedere quell’acqua schizzare ovunque e magari dovermela fare a corsa per non diventar fradicio quando scendo. Quando c’è il sole sono felice perché regala ancora più ottimismo, riscalda e conforta.

Siamo persone fortunate (si, anche tu… se hai la possibilità di leggere qui, si vede che lo sei!) e abbiamo tutto nella vita… e ciò che manca non è ciò che desideriamo, perché in fin dei conti anche senza l’oggetto dei nostri desideri si sopravvive. Ciò che manca – spesso – è proprio quel sano ottimismo che ti fa vedere ogni giorno della tua vita come un’esperienza unica da affrontare con curiosità e allegria.

Perché continuiamo a lamentarci di ogni piccola cosa?!

Schulz titolò la sua opera “Peanuts” che può esser tradotto come “noccioline” ma anche come “personcine“. Dal titolo però, non si evince se si riferisse ai protagonisti della storia ovvero ai suoi lettori (la risposta possiamo dargliela noi singolarmente…).

Emanuele

Sono tornati… dall’Artico!

Ebbene si, la seconda serie era finita con una loro spedizione nell’artico alla ricerca di una spiegazione alla teoria delle stringhe e… sono tornati!

The Big Bang Theory - Splash image

Wolowitz: Sheldon… ricordi le prime settimane, quando cercavamo i monopoli magnetici e non trovavamo niente e tu ti comportavi da insopportabile e odioso indefesso?
Koothrappali
: Pensavo saremmo stati gentili con lui.
Wolowitz
: Ecco perche’ prima ho aggiunto “inde”.
Wolowitz
: E quando finalmente abbiamo avuto i primi dati positivi, eri così felice!
Sheldon
: Oh, si’. Nel mondo delle emoticon, io ero la “Due Punti – D Maiuscola”.
Wolowitz: Beh, in realta’, cio’ che i tuoi strumenti hanno rilevato non era tanto la prova attuale del paradigma della rivoluzione dei monopoli, quanto… la scarica dell’apriscatole elettrico che continuavamo ad accendere e a spegnere.
Koothrappali: E’ appena passato alla “Due Punti – O Maiuscola”.

Oggi è uscito il primo episodio della terza serie e io, dopo aver finito di studiare e aver cambiato l’acqua ai miei pesciolini, ho acceso Spoka e mi son goduto lo spettacolo! :joy:

Emanuele

Creare un triangolo in MATLAB.

In questi giorni ci sto giochicchiando (equalizzazione e trasformazione di immagini, riconoscimento dei vertici, etc.) e mi serviva una funzioncina per creare triangoli al volo.

Non avendo trovato nulla, eccola qui! Così magari qualcuno sarà felice prima o poi… 😉

% In un quadrato 256*256 creare un triangolo con vertice superiore in
% P(10,20), base 160 e altezza 90.
% Voglio sfruttare l'equazione di una retta passante per due punti
% per definire il limite entro il quale deve disegnare il triangolo,
% in questo modo specifico solamente il vertice e la retta.
% Equazione generica di una retta passante per due punti: 
% (y-y1)=((y2-y1)/(x2-x1))*(x-x1)

im=zeros(256,256);
base=160;
altezza=90;
offsetx=10;
offsety=20;
[m n]=size(im);
for colonna=1:n
	for riga=1:m
		if colonna>=offsetx & riga>=(altezza/base*colonna)+...
		offsety & riga

Ovviamente se ci ragionate un po' da soli è sempre meglio!

Emanuele

Port closed.

Routing rules - NetGear DG834

Ieri sera ho cancellato alcune regole di tunneling in lan dal pannello del router. I computer dei miei fratelli ormai sono a Milano e credo proprio non torneranno facilmente da queste parti.

Mentre lo facevo un brivido ha percorso la schiena: è strano rendersi conto di come sia cambiata la vita attraverso queste piccole cose.

Persino la rete locale è più vuota.

Emanuele

PS: e voi, vi preoccupate mai di chiudere le porte inutili nella vostra rete? 🙂