142 |
% ik schrijf |
% ik schrijf |
143 |
\chapter{Beeldbewerking} |
\chapter{Beeldbewerking} |
144 |
\section{Xv} |
\section{Xv} |
145 |
|
\begin{figure}[htb] |
146 |
|
\centering |
147 |
|
\includegraphics[width=0.6\linewidth]{desktop/xv.png} |
148 |
|
\caption{Het Xv commandovenster.} |
149 |
|
\label{xv} |
150 |
|
\end{figure} |
151 |
|
Xv is waarschijnlijk het bekendste programma om beeldjes te bekijken en te bewerken in unix-achtige |
152 |
|
omgevingen. Het is feite een shareware programma (dus moet je betalen om het te registreren, maar in de |
153 |
|
praktijk wordt dat toch nooit gedaan). |
154 |
|
|
155 |
|
De reden van de populariteit is waarschijnlijk omdat het zo intu\"itief en gebruiksvriendelijk is: alle |
156 |
|
belangrijke knoppen staan in het commandovenster (in tegenstelling tot bij Gimp), en laten weinig aan de |
157 |
|
verbeelding van de gebruiker over. Na typen van "\textit{xv} aan de commandolijn verschijnt het |
158 |
|
openingsvenster, waarna je met de rechtermuisknop het commandovenster (fig. \ref{xv}) opent. |
159 |
|
|
160 |
|
Enkele minder voor de hand liggende functies zijn terug te vinden onder het menu "\textit{Algorithms}", |
161 |
|
waarin je een beeld kan vervagen, ontvlekken, \ldots maar welke weinig interessant zijn. Wat echter wel |
162 |
|
interessante functies zijn, zijn het bekijken en omzetten naar verschillende andere formaten, de |
163 |
|
"\textit{Crop} functie om een beeldje bij te knippen en wat ook een zeer interessante functie is, is de |
164 |
|
"\textit{Grab} functie. Met deze laatste functie kunnen we screenshots maken van vensters in X Windows |
165 |
|
(zoals voor deze cursus). |
166 |
|
|
167 |
|
Nog iets leuk van Xv zijn de verschillende sneltoetesen: |
168 |
|
\begin{itemize} |
169 |
|
\item "shift" + ">" verdubbelt de grootte |
170 |
|
\item "shift" + "<" halveert de grootte |
171 |
|
\item ">" vergroot een beeldje met 10\% |
172 |
|
\item "<" vermindert de grootte met 10\% |
173 |
|
\item "n" keert terug naar de oorspronkelijke grootte |
174 |
|
\item "e" roept het menu met de \textit{color editor} op, waarin kleurenpallet, intensiteit, |
175 |
|
contrast en dergelijke kunnen bewerkt worden. |
176 |
|
\end{itemize} |
177 |
\wilschrijven{geert} |
\wilschrijven{geert} |
178 |
\section{Gimp} |
\section{Gimp} |
179 |
|
\begin{figure} |
180 |
|
\center |
181 |
|
\includegraphics{desktop/gimpcommand.png} |
182 |
|
\caption{Gimp commandovenster.} |
183 |
|
\label{gimpcommand} |
184 |
|
\end{figure} |
185 |
|
Gimp is de laatste tijd steeds meer een concurrent geworden van het commerci\"ele |
186 |
|
pakket Adobe Photoshop. Het eerste wat we krijgen als je Gimp opstart, is een |
187 |
|
commandovenster (fig. \ref{gimpcommand}). Dit venster bevat maar weinig functionaliteit, |
188 |
|
maar laat toe om beeldjes in te laden, en voorziet ook een aantal menuknoppen naar een |
189 |
|
aantal interessante functies. |
190 |
|
|
191 |
|
Eens we een beeldje geopend hebben via het commandovenster "\textit{file}", |
192 |
|
"\textit{open}", biedt klikken met de rechtermuisknop op het beeldje de echte kracht van |
193 |
|
Gimp. Toegegeven: het is in het begin wel zoeken in het woud van functies vooraleer |
194 |
|
de indeling een beetje duidelijk is, maar dat went vrij snel. |
195 |
|
|
196 |
|
Onder het "\textit{file}"-menu vinden we operaties terug zoals een nieuw beeldje cre\"eren, |
197 |
|
een beeld opslaan onder een ander formaat (geloof me, alle courante en zelfs een |
198 |
|
heleboel minder courante formaten zitten erin). Onder "\textit{Edit}" vinden we dan weer |
199 |
|
de functies om stukken geselecteerd beeld te kopi\"eren, te knippen of te plakken. |
200 |
|
|
201 |
|
Leuk is het menu "\textit{Filters}". Daaronder vinden we functies om een beeld te vervagen, |
202 |
|
randen te detecterenkan je een beeld. Leuk is dat we een gegeven filter kunnen laten |
203 |
|
inwerken op een deel van het beeld door eerst een gebied te selecteren (met in het de knop |
204 |
|
commandovenster links bovenaan) en dan een filter te kiezen in het menu dat in het beeldje |
205 |
|
met de rechtermuisknop oproepen. |
206 |
\wilschrijven{gaspard} |
\wilschrijven{gaspard} |
207 |
\section{Xfig} |
\section{Xfig} |
208 |
|
Xfig is een leuk programma om vectortekeningen in te maken. We kennen allemaal het gevoel |
209 |
|
wel dat we een leuke zelfgemaakte illustratie ergens in een document willen invoegen, en |
210 |
|
dan gauw iets tekenen met een of ander paintprogramma (bijv. Xpaint). Deze programma's |
211 |
|
hebben een vrij eenvoudige interface, en het is mogelijk om al snel een vrij deftige |
212 |
|
schets te bekomen. Als we deze willen invoegen in een tekstbestand bijvoorbeeld, zal |
213 |
|
deze tekening bijna gegarandeerd verkeerde afmetingen hebben. Geen nood, we kunnen deze |
214 |
|
altijd herschalen. Maar wat blijkt dan? Dat deze figuren in feite bestaan uit een hele |
215 |
|
hoop gekleurde puntjes (pixels genaamd), en door te herschalen van een figuur, er gewoon |
216 |
|
rijen en kolommen worden gekopieerd of weggegooid. Resultaat: de tekening ziet er zeer |
217 |
|
kartelig uit. Als illustratie verwijzen we naar fig. \ref{pixelmap}. Daarin wordt links een |
218 |
|
tekeningetje gegegeven, en rechts een uitvergroting van \'e\'en van de cirkeltjes uit die |
219 |
|
tekening. De rechtertekeningen illustreren dan weer wat er gebeurt bij het verkleinen van |
220 |
|
een figuur: de dunnen lijntjes vertonen onderbrekingen als gevolg van het verwijderen van |
221 |
|
rijen en kolommen bij het herschalen. |
222 |
|
|
223 |
|
\begin{figure}[htb] |
224 |
|
\centering |
225 |
|
\begin{tabular}{cccc} |
226 |
|
\includegraphics[width=0.2\linewidth]{desktop/paint1.png} |
227 |
|
& \includegraphics[width=0.2\linewidth]{desktop/paint2.png} |
228 |
|
& \includegraphics[width=0.25\linewidth]{desktop/paint3.png} |
229 |
|
& \includegraphics[width=0.25\linewidth]{desktop/paint4.png}\\ |
230 |
|
\end{tabular} |
231 |
|
\caption{Illustratie van figuren als pixelmappen.} |
232 |
|
\label{pixelmap} |
233 |
|
\end{figure} |
234 |
|
Zo hoort het dus niet. Xfig werkt op een heel andere basis, namelijk vectortekeningen. In plaat s |
235 |
|
dat een lijn wordt voorgesteld als een rij puntjes, stelt xfig een rechte voor door een |
236 |
|
verbindingslijn tussen beginpunt en eindpunt. Herschalen van de figuur levert op dat de positie |
237 |
|
van deze punten verandert, maar de verbindingslijn blijft wel een gladde lijn. Xfig is ideaal |
238 |
|
voor het maken van dit soort schaalbare figuren, zoals ge\"illustreerd in fig. \ref{vectormap}. Daar |
239 |
|
wordt drie keer hetzelfde figuurtje ingeladen, zonder dat er van die vervelende pixeleffecten sprake is: |
240 |
|
de lijnen blijven altijd even vloeiend. |
241 |
|
|
242 |
|
\begin{figure}[htb] |
243 |
|
\centering |
244 |
|
\begin{tabular}{ccc} |
245 |
|
\includegraphics[width=0.1\linewidth, height=4cm, angle=0]{desktop/vector.pdf} |
246 |
|
& \includegraphics[width=0.3\linewidth, height=2cm, angle=0]{desktop/vector.pdf} |
247 |
|
& \includegraphics[width=0.5\linewidth, height=3cm, angle=0]{desktop/vector.pdf}\\ |
248 |
|
\end{tabular} |
249 |
|
\caption{Illustratie van figuren als vectortekeningen.} |
250 |
|
\label{vectormap} |
251 |
|
\end{figure} |
252 |
|
|
253 |
|
OK, nu we de voordelen kennen van vectorillustraties te maken, zullen we ook even de beginselen van |
254 |
|
gebruik van Xfig bespreken. In fig. \ref{xfig} wordt het programmavenster weergegeven. |
255 |
|
\begin{figure}[htb] |
256 |
|
\centering |
257 |
|
\includegraphics[width=0.5\linewidth]{desktop/xfig.png} |
258 |
|
\caption{De Xfig interface.} |
259 |
|
\label{xfig} |
260 |
|
\end{figure} |
261 |
|
|
262 |
|
Bij dit programma zitten de interessante commando's in de knoppenbalk aan de linkerrand van het venster. |
263 |
|
Deze balk is onderverdeeld in "\textit{drawing modes}" en "\textit{editing modes}". Het eerste bevat de |
264 |
|
knoppen waarmee basisobjecten kunnen worden aangemaakt, het tweede om deze te bewerken. Elk van deze |
265 |
|
knoppen geeft wat meer uitleg over de functie wanneer je er met de muis over beweegt, en roept aan de |
266 |
|
onderrand van het venster een nieuwe knoppenbalk op met specifieke subfuncties voor een gekozen |
267 |
|
functie. |
268 |
|
|
269 |
|
Als voorbeeld van een "\textit{drawing modes}"-knop zullen we een lijn tekenen: |
270 |
|
om lijn te tekenen moeten we de knop "\textit{polyline}" aanklikken. Daarbij verschijnen er onderaan |
271 |
|
bijv. knoppen om de kleur, de dikte, de lijnstijl (stippellijn, volle lijn, \ldots) te kiezen. Een lijn |
272 |
|
trekken kunnen we dan door het beginpunt en tussenliggende hoekpunten aan te duiden met de |
273 |
|
linkermuisknop, en met de middenste muisknop te klikken om het eindpunt aan te duiden. |
274 |
|
|
275 |
|
Bij de "\textit{editing modes}" beschikken we dan over de mogelijkheden om aangemaakte objecten te |
276 |
|
kopi\"eren, te herschalen, te verplaatsen, te groeperen met andere objecten, \ldots Groeperen biedt als |
277 |
|
voordeel dat we dan een hoop objecten samen kunnen veranderen van bijv. kleur of lijndikte. |
278 |
|
|
279 |
|
De gebruikersinterface is redelijk voor de hand liggend, en door een klein beetje experimenteren met de |
280 |
|
menu's kunnen we al heel wat te weten komen. Nog een aantal leuke handigheidjes: met gnuplot kunnen we |
281 |
|
grafieken exporteren naar xfig-formaat, en kunnen we zo verder opmaken. Verder kunnen we ook gewone |
282 |
|
afbeeldingen invoegen (die niet noodzakelijk schaalbaar zijn) met "\textit{picture}". |
283 |
|
|
284 |
\wilschrijven{gaspard} |
\wilschrijven{gaspard} |
285 |
\section{ImageMagick} |
\section{ImageMagick} |
286 |
|
\begin{figure}[htb] |
287 |
|
\centering |
288 |
|
\includegraphics[width=0.5\linewidth]{desktop/magick.png} |
289 |
|
\caption{De Xfig interface.} |
290 |
|
\label{xfig} |
291 |
|
\end{figure} |
292 |
|
ImageMagick is een een verzameling tools en libraries om met beeldjes om te gaan. De basic utilities |
293 |
|
zijn weergegeven in onderstaande tabel.\\ |
294 |
|
|
295 |
|
\begin{tabular}{|l|l|} |
296 |
|
\hline |
297 |
|
animate & animate a sequence of images\\ |
298 |
|
\hline |
299 |
|
composite & composite images together\\ |
300 |
|
\hline |
301 |
|
conjure & execute a Magick Scripting Language (MSL) XML script\\ |
302 |
|
\hline |
303 |
|
convert & convert an image or sequence of images\\ |
304 |
|
\hline |
305 |
|
display & display an image on a workstation running X\\ |
306 |
|
\hline |
307 |
|
identify & describe an image or image sequence\\ |
308 |
|
\hline |
309 |
|
import & capture an application or X server screen\\ |
310 |
|
\hline |
311 |
|
mogrify & transform an image or sequence of images\\ |
312 |
|
\hline |
313 |
|
montage & create a composite image (in a grid) from separate images\\ |
314 |
|
\hline |
315 |
|
\end{tabular} |
316 |
|
\\ |
317 |
|
|
318 |
|
De volgende ImageMagick functies zijn direct vanop de command line beschikbaar: |
319 |
|
"\textit{convert}", "\textit{mogrify}", "\textit{montage}", "\textit{composite}" en |
320 |
|
"\textit{identify}". Deze functies zijn bijv. handig wanneer we een hele reeks beelden tegelijk te |
321 |
|
bewerken, want ze lenen zich perfect om te gebruiken in een shellscriptje. Wanneer we bijv. een hele |
322 |
|
\textsc{jpeg}-formaat hebben staan en deze willen omzetten in \textsc{gif}-formaat, kunnen we die |
323 |
|
via een scripte \'e\'en voor \'e\'en aan "\textit{convert}" aanbieden, om deze dan in het gewenste |
324 |
|
formaat te zetten. |
325 |
|
|
326 |
|
Het programma "\textit{display}" biedt een grafische interface voor deze functies, en kunnen we |
327 |
|
gebruiken om iteraktief beeldjes te manipuleren of om een reeks beelden te animeren. Tenslotte zijn alle |
328 |
|
methoden om beeldjes te manipuleren rechtstreeks aanspreekbaar vanuit programmeeromgevingen zoals Perl, |
329 |
|
C++, C, Python en Java. |
330 |
|
|
331 |
|
De website van ImageMagick is te vinden op http://www.imagemagick.org/, en bevat uitgebreide uitleg over |
332 |
|
alle functionaliteiten. |
333 |
\wilschrijven{geert} |
\wilschrijven{geert} |
334 |
|
|
335 |
\chapter{Video} |
\chapter{Video} |