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

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

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

Testimoni gioiosi.

Scegliere di essere persone allegre in un mondo che ti mostra dolore e distruzione è una decisione impegnativa ma è anche una risposta concreta alla chiamata del Signore ad essere testimoni del suo messaggio di Speranza.

Emanuele

Gridare, adagio e forte.

Elena se ne andò sbattendo la porta con decisione. Era nervosa, stanca e incapace di credere che tutti quei discorsi non fossero serviti a niente. Ore e ore di snervanti discussioni e tentativi di aprire un dialogo che si concludevano sempre con un misero e sottile movimento del viso dell’ingegner Marco Roncetti. Non una risposta convinta però, non una presa di posizione.

L’ingegnere portò fuori dal taschino un sigaro conservato in un piccolo tovagliolo. Aveva bisogno di fumare, voleva trasformare quella stanza in un mondo grigio, un luogo in cui far svanire quel rigore che le urla e i lamenti di Elena avevano lasciato. Allungò e accavallò le gambe sulla scrivania incurante dei documenti che avrebbe calpestato. Tirò fuori dalla tasca l’accendino e tenendo il sigaro con le labbra, lo accese. Il fumo era il suo mezzo per evadere. Si concentrò inizialmente sulle forme che assumeva quando usciva dalla bocca e provò a controllarlo stringendo e allargando le labbra. Era strano come, qualche misterioso spiffero nella stanza, sapeva far svanire rapidamente nel nulla quei cerchi che, con tanta maestria, riusciva a realizzare.

Sapeva benissimo di essere un giovane ingegnere, nato e cresciuto sotto l’ala del rispettatissimo Alfonso Roncetti, ma non voleva che i suoi progetti venissero modificati per le assurde richieste di una donna, per lo più non professionista. Non poteva accettare che ciò che aveva in mente non fosse rispettato così come erano rispettate le parole di suo padre.

Allungò il collo sulla sinistra e con la mano spostò la tenda che copriva la finestra posizionata alle spalle della sua scrivania.

I tacchi di Elena scandivano i passi come le ruote di un treno su un binario. Il ritmo era sostenuto e non faceva altro che accrescere in lei il nervosismo maturato. Le persone, le saracinesche dei negozi e i bambini le scorrevano intorno e sfumavano dietro come tante sagome silenziose. Non c’era posto per altre informazioni nella sua testa in quel momento.

Girò l’angolo, tirò fuori le chiavi della sua vecchia auto e andò via frettolosamente.

L’ingegnere lasciò la tenda tornare, lentamente, alla sua posizione e aspirando nuovamente il suo sigaro prese ad osservare il silenzio del suo ufficio e il disordine della sua scrivania.

“Vendesi immobile, 280 metri quadri, da ristrutturare”, era ciò che da quella posizione l’ingegner Roncetti riusciva a scorgere tra quelle carte.

Potrebbe anche far parte di ciò che stavo raccontando… intanto, è nato così ed è finito qui. 🙂

Emanuele