Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Matlab a 3D graf.

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

 

Vložit nový příspěvek

Jméno:

Předmět:

Příspěvek:

*AGGRESSIVE* O:-) :-/ :-P *BLUSH* *BYE* :'( *DASH* 8-) *DRINK* :-| *THUMBUP* *SOS* *KISSED* :-* *OK* *SECRET* *STOP*

Pohlaví:

Muž, Žena

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

Matlab a 3D graf.

Autor: Rumova_vila

9:45:41 24.09.2010

Ahoj, chtěl bych se zeptat jak 3D graf vytisknout nějakým rozumějším způsobem než sem použil já.Nejdříve jsem plánoval plot3 umístit do dvou cyklů for,ale pak jsem zjistil,že to asi nejde ,protože to tisklo jen jeden bod.Původně jsem ve smyčkách plnil hodnotami jedno 2D pole(ukládají se do něj hodnoty středního kvadratického průměru).
Poté co jsem zjistil ,že to takle nepůjde ,takže jsem si vytvořil další 2D pole přičemž jedno obsahuje hodnoty určující index I a druhé Index J..

Ve výsledném 3D grafu se na osu X vynesou indexy I na Y indexy J a na Z hodnoty MSE.


[code]
close all;
clear all;

MAXd = 8;
MAXs = 7;

%% PARAMETERS: Image directory, names
fExt='.png';
imgDir=''; %'Directory of ALL results + images

% RESULTS array to store MSE
MSE_dataDCT = zeros(MAXd, MAXs); % Results array: setMSE = 0
plotI= zeros(MAXd, MAXs);
plotJ = zeros(MAXd, MAXs);

%% Read REFerence in given directory + convert to grayscale ======%
% R = REFERENCE image
% F = FUSED image
% WAV = WAVelet result, DCT = DCT result

tmpName = strcat(imgDir,'5010',fExt)
R = readConvertToGray(tmpName);
[m,n] = size(R);
N_pixels = m*n;

% !!! pouze pro inspiraci
% --- read images F, compute MSE
for i = 1: MAXd
for j = 1: MAXs
zdeJmenoSouboruF = strcat(num2str(i),'q',num2str(j));
tmpName = strcat(imgDir, zdeJmenoSouboruF ,fExt);
F = readConvertToGray(tmpName);
MSE_dataDCT(i,j) = sqrt( sum(sum((R - F).^2) ) / (N_pixels - 1));
plotI(i,j)= i;
plotJ(i,j)= j;
end
end



plot3(plotI,plotJ,MSE_dataDCT,'-', 'MarkerSize',4,'LineWidth', 2, 'color', 'red');
grid on
meshc(plotI,plotJ,MSE_dataDCT);

[/code]

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: