Dimensionando parte de uma imagem
Eu quero escalar uma parte de uma imagem, neste exemplo, um nariz.
Eu tenho uma função para selecionar a parte da imagem que quero ampliar.
def copyAndPaste(picture):
height = getHeight(picture)
width = getWidth(picture)
newPicture = makeEmptyPicture(width, height)
for x in range(width):
for y in range(height):
pxl = getPixel(picture,x,y)
if (x>48 and x<59) and (y>58 and y<71):
newPxl =getPixel(newPicture, #?,#?)
else:
newPxl = getPixel(newPicture, x,y)
color = getColor(pxl)
setColor(newPxl,color)
return newPicture
def d():
f=pickAFile()
picture=makePicture(f)
newPicture = copyAndPaste(picture)
writePictureTo(newPicture, r"D:\FOLDER\0Pic4.jpg")
explore (newPicture)
Eu também tenho uma função para ampliar uma imagem:
def Enlarge(picture):
height = getHeight(picture)
width = getWidth(picture)
newPicture = makeEmptyPicture(width*2, height*2)
x1=0
for x in range(0,width):
y1=0
for y in range(0,height):
pxl = getPixel(picture,x,y)
newPxl = getPixel(newPicture, x1,y1)
color = getColor(pxl)
setColor(newPxl,color)
y1=y1+2
x1=x1+2
return newPicture
por exemplo.
De:
Para:
Eu tentei muitas coisas, mas não consegui descobrir como combinar as duas para ampliar parte de uma foto, deixando o resto da imagem intacta.
É assim que a imagem resultante deve parecer (por mais ridícula que seja)
Eu tenho praticado em pequenas imagens, como o programa pode levar tanto tempo para executar, não é viável trabalhar com imagens maiores, nesta fase, ou seja, os resultados são incompletos, mas pelo menos mostrarão se funciona.