155GIT1 / 10. cvičení: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
mBez shrnutí editace
(Není zobrazeno 45 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
{{Geoinformatika}}
{{Geoinformatika}}
{{Cvičení|155GIT1|8|Obrazová data}}
{{Cvičení|155GIT1|10|Python - Funkce, chybový stav, moduly}}


== Náplň  ==
* [https://geo.fsv.cvut.cz/vyuka/155git1/python/git1-python-03-funkce-moduly.pdf přednáška]
== Ukázky ==
* [https://gitlab.com/ctu-k155-lectures/155git1-cviceni/-/blob/master/python/cv3/cv3.ipynb notebook]
<!--
== Úlohy ==
* [[155GIT1 / 9. cvičení / Příklady|9. cvičení - příklady]]
-->
<!--
== Náplň cvičení ==
== Náplň cvičení ==


# načtení obrázku <code>imread(), imshow()</code>
# načtení obrazových dat <code>imread(), imshow()</code>
# základní informace <code>imfinfo()</code>
# základní informace <code>imfinfo()</code>
# binary, indexed, greyscale a truecolor
# binary, indexed, grayscale a truecolor
# příkazy <code>image()</code>, <code>imagesc()</code>, [http://geo.fsv.cvut.cz/user/gin/git1/matlab/matlab.pdf#119 barevné schéma] <code>colormap()</code>
# příkazy <code>image()</code>, <code>imagesc()</code>, [http://geo.fsv.cvut.cz/user/gin/git1/matlab/matlab.pdf#page=127 barevné schéma] <code>colormap()</code>
# převod do odstínů šedi <code>rgb2ind -> ind2gray</code>
# převod do odstínů šedi <code>rgb2ind -> ind2gray</code>
# rozklad obrázku na jednotlivé vrstvy [http://upload.wikimedia.org/wikipedia/commons/3/33/Beyoglu_4671_tricolor.png RGB]
# rozklad obrázku na jednotlivé vrstvy [http://upload.wikimedia.org/wikipedia/commons/3/33/Beyoglu_4671_tricolor.png RGB]
Řádek 14: Řádek 26:


=== Načtení obrázku do matice ===
=== Načtení obrázku do matice ===
Data: https://upload.wikimedia.org/wikipedia/commons/a/ae/Aristotle_Altemps_Inv8575.jpg


<source lang=octave>
<source lang=octave>
% načtení z URL
% načtení z URL
obr = imread('http://upload.wikimedia.org/wikipedia/commons/a/ae/Aristotle_Altemps_Inv8575.jpg');
jmeno1 = 'Aristotle_Altemps_Inv8575.jpg';
size(obr)
obr1 = imread(jmeno1);
size(obr1)
% zobrazení obrázku v grafickém okně
% zobrazení obrázku v grafickém okně
imshow(obr)
imshow(obr1)
% zobrazení metadat
% zobrazení metadat
imfinfo('http://upload.wikimedia.org/wikipedia/commons/a/ae/Aristotle_Altemps_Inv8575.jpg')
imfinfo(jmeno1)
</source>
 
''Poznámka:'' Matlab i novější verze Octave umí číst data i přes protokol HTTP/HTTPS:
 
<source lang=octave>
url1 = 'https://upload.wikimedia.org/wikipedia/commons/a/ae/Aristotle_Altemps_Inv8575.jpg';
obr1 = imread(url1);
</source>
</source>


Řádek 28: Řádek 50:


<source lang="octave">
<source lang="octave">
i = rand(100, 100) * 255;
obr2 = rand(100, 100) * 255;
image(i)
image(obr2)
% škálovat data, tak aby bylo využito célé barevné schéma
colormap('gray')
 
% škálovat data tak, aby bylo využito celé barevné schéma
figure()
imagesc(obr2)
colormap('gray')
 
figure()
figure()
imagesc(i)
imagesc([0 50], [0 50], obr2)
% nastavit vlastní barevné schéma
colormap('gray')
colormap('gray')
</source>
</source>


=== Typy obrazových dat ===
=== Typy obrazových dat ===
 
Jednotlivé obrázky ke stažení do pracovního adresáře z následujících url:
* obrázek ve stupních šedi: [http://upload.wikimedia.org/wikipedia/commons/f/fa/Grayscale_8bits_palette_sample_image.png příklad]
* indexovaný obrázek: [http://upload.wikimedia.org/wikipedia/commons/7/7c/Adaptative_8bits_palette_sample_image.png příklad]
* RGB-obrázek: [https://upload.wikimedia.org/wikipedia/commons/b/bc/Parrot.red.macaw.1.arp.750pix.jpg příklad]
<source lang=octave>
<source lang=octave>
% binární rastr
% binární rastr
b = round(rand(25, 25));
obr3 = round(rand(25, 25));
ob = imagesc(b)
ob = imagesc(obr3) % vs. image(), viz níže
% obr3_1 = 255 * round(rand(25, 25));
% image(obr3)
% image(obr3_1)
colormap('gray')
colormap('gray')
% rastr v odstínech šedi
% rastr v odstínech šedi
obr1 = imread('http://upload.wikimedia.org/wikipedia/commons/f/fa/Grayscale_8bits_palette_sample_image.png');
jmeno4 = 'Grayscale_8bits_palette_sample_image.png';
size(obr1)
obr4 = imread(jmeno4);
% indexovaný raster
size(obr4)
obr2 = imread('http://upload.wikimedia.org/wikipedia/commons/7/7c/Adaptative_8bits_palette_sample_image.png');
% indexovaný rastr
size(obr2)
jmeno5 = 'Adaptative_8bits_palette_sample_image.png';
[obr2, cmap] = imread('http://upload.wikimedia.org/wikipedia/commons/7/7c/Adaptative_8bits_palette_sample_image.png');
obr5 = imread(jmeno5);
size(cmap)
size(obr5)
imshow(obr2)
[obr5, cmap5] = imread(jmeno5);
imshow(obr2, cmap)
size(cmap5)
imshow(obr5)
imshow(obr5, cmap5)
% true color (RGB)
% true color (RGB)
obr3 = imread('http://upload.wikimedia.org/wikipedia/commons/6/69/Truecolor.png');
jmeno6 = 'Parrot.red.macaw.1.arp.750pix.jpg';
size(obr3)
obr6 = imread(jmeno6);
size(obr6)
imshow(obr6)
</source>
</source>


Řádek 62: Řádek 100:


<source lang=octave>
<source lang=octave>
% indexovaný na odstíny šedi
% RGB na indexovaný rastr
obr2_g = ind2gray(obr2, cmap);
% Matlab
imshow(obr2, cmap)
[obr6_i, cmap6] = rgb2ind(obr6, 256);
% Octave
[obr6_i, cmap6] = rgb2ind(obr6);
size(obr6)
size(obr6_i)
size(cmap6)
% indexovaný rastr na odstíny šedi
obr5_g = ind2gray(obr5, cmap5);
imshow(obr5, cmap5)
figure()
figure()
imshow(obr2_g)
imshow(obr5_g)
% RGB na indexovaný
% formalne existuji i funkce pro opacny prevod, napr.
[obr3_i, cmap] = rgb2ind(obr3, 256);
% odstíny šedi na indexovaný rastr
size(obr3)
[obr5_i, cmap5_i] = gray2ind(obr5_g);
size(obr3_i)
figure()
size(cmap)
imshow(obr5_i, cmap5_i)
</source>
</source>


Řádek 77: Řádek 123:


<source lang=octave>
<source lang=octave>
size(obr3)
size(obr6)
R = obr3;
R = obr6;
G = obr3;
G = obr6;
B = obr3;
B = obr6;
size(R)
size(R)
% vynulování
% vynulování
Řádek 109: Řádek 155:
</source>
</source>


== Úlohy ==
''Poznámka pro Octave:'' Funkce <tt>mat2gray</tt> je součástí balíčku "image", který lze doinstalovat příkazem: <tt>pkg install image</tt>.
-->

Verze z 20. 4. 2021, 20:22

Python - Funkce, chybový stav, moduly

Náplň

Ukázky