Page 115 - Demo
P. 115

TI Python BootCamp Python DIGITALE AFBEELDINGEN GRAFISCH
Voor het programmeren van deze transformatie stellen we ons voor ieder pixel (𝑝, 𝑞) van het beeld de volgende vraag. Welk pixel (𝑥, 𝑦) van de originele afbeelding wordt afgebeeld op (𝑝, 𝑞) m.a.w. 𝐺(𝑥, 𝑦) = (𝑝, 𝑞):
𝐺(𝑥,𝑦)=(𝑝,𝑞)⟺(h−𝑦,𝑥)=(𝑝,𝑞)⇔< h−𝑦=𝑝⟺> 𝑥=𝑞 𝑥=𝑞 𝑦=h−𝑝
Indien de breedte van de afbeelding groter is dan de hoogte van het grafische venster (212 pixels) valt het beeld van de rotatie buiten dit venster. Vandaar passen we eerst een schaalverkleining toe i.f.v. de hoogte van het grafische venster. We gebruiken het statement clear() van de TI Draw-module om het scherm te wissen.
from ti_image import * from ti_draw import *
pic=load_image("ballon") pic.show_image(0,0)
xscale=int(212/318*pic.w) yscale=int(212/318*pic.h)
npic=new_image(xscale,yscale,(255,255,255))
for x in range (0,npic.w):
¨¨for y in range (0,npic.h): ¨¨¨¨xp=int(318/212*x) ; yp=int(318/212*y) ¨¨¨¨rgb=pic.get_pixel(xp,yp) ¨¨¨¨npic.set_pixel(x,y,rgb)
clear() npic.show_image(0,0)
newpic=new_image(npic.h,npic.w,(255,255,255)) clear()
for p in range (0,newpic.w):
¨¨for q in range (0,newpic.h): ¨¨¨¨rgb=npic.get_pixel(q,(npic.h-1)-p) ¨¨¨¨newpic.set_pixel(p,q,rgb) ¨¨¨¨newpic.show_image(0,0)
       © 2020 T3 Nederland – T3 Vlaanderen 5
www.t3nederland.nl – www.t3vlaanderen.be



















































































   113   114   115   116   117