Pages: [1]   Go Down
Print
Author Topic: quantizzazione in matlab  (Read 5095 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


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


« on: 08-11-2009, 11:10:45 »

stavo provando a realizzare la quantizzazione in matlab come fatto in aula..solo che utilizzando double nella lettura dell'immagine (per trattare i numeri appunto come double)
Code:
I=double(imread('immagine.jpg'))
se visualizzo l'immagine ottengo questo
invece l'immagine di partenza è questa
che cosa sbaglio?in aula non succedeva..
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.
Raro89
Apprendista Forumista
**
Offline Offline

Posts: 121



« Reply #1 on: 09-11-2009, 19:29:57 »

vivi io per ovviare a questo problema ho fatto così:(ora ti mostro il codice)
però ho anche un problemino nella quantizzazione logaritmica mi visualizza limmagine tutta bianca alla fine...
Code:
% Quantizzazione logaritmica
clear all
close all
%---------------
I=(imread('slide.jpg'));
figure,imshow(I,gray(256));
Q=double(I);
N=256;
K=2;
II=floor((log2(Q).*K)./log2(N));
figure,imshow(II,[]);
figure,imshow(II,gray(256));
Logged
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


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


« Reply #2 on: 09-11-2009, 19:52:49 »

capito..forse dovremmo chiedere al prof..
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 #3 on: 26-11-2009, 23:16:14 »


Io ho fatto questo codice in matlab ma mi esce l'immagine bianca , qualcuno sa aiutarmi?


Code:
I=double(imread('angel.jpg'));

figure,imshow(I,gray(256));

N=256;
K=16;

 %uniforme
A=floor((I.*K)./N);

figure,imshow(double(A),[]);

%logaritmica
B=floor((log2(I).*K)./log2(N));

figure,imshow(double(B),[]);

Logged
rox
Forumista
***
Offline Offline

Posts: 633


« Reply #4 on: 27-11-2009, 00:08:29 »

io l'ho fatta in questo modo ma l'immagine mi esce con dei colori strani,infatti se pongo u=n,mi restituisce un immagine modificata invece dovrebbe essere tale e quale,perchè?ecco il codice
Code:
function b=quantizzazione(a,u,k)
b=zeros(size(a));
[m n]=size(a);
for(i=1:m-1)
    for(j=1:n-1)
        b(i,j)=((floor(log2(double(a(i,j))))*k)/floor(log2(u)));
    end
end
       

end
grazie per le risposte
Logged

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

Gender: Male
Posts: 409


The spiral's King


« Reply #5 on: 27-11-2009, 15:34:35 »

ragazzi una piccola informazione ma il casting 'floor' a che tipo di dato casta la nostra informazione?
Logged
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


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


« Reply #6 on: 27-11-2009, 17:13:17 »

http://it.wikipedia.org/wiki/Parte_intera
la funzione floor(x) arrotonda al pià grande intero <=x
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.
andreacannella
Administrator
Forumista Esperto
*****
Offline Offline

Gender: Male
Posts: 1.488


Andea Cannella - www.andreacannella.com


WWW
« Reply #7 on: 27-11-2009, 22:06:26 »

Scusate se mi intrometto, ma il floor non è un casting...
Logged

Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)

Good times for a change
See, the luck I've had
Can make a good man
Turn bad

So please, please, please
Let me, let me, let me
Let me get what I want
This time

The Smiths
rox
Forumista
***
Offline Offline

Posts: 633


« Reply #8 on: 27-11-2009, 23:24:38 »

http://it.wikipedia.org/wiki/Parte_intera
la funzione floor(x) arrotonda al pià grande intero <=x
ovvero se x=4,5 ,allora floor(x)=4.
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 #9 on: 28-11-2009, 09:35:22 »

http://it.wikipedia.org/wiki/Parte_intera
la funzione floor(x) arrotonda al pià grande intero <=x
ovvero se x=4,5 ,allora floor(x)=4.
esatto
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 #10 on: 28-11-2009, 12:30:35 »

ma nessuno è riuscito a farla la quantizzazione?
Logged

Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
Pages: [1]   Go Up
Print
Jump to: