Bildausschnitt skalieren

Ich möchte einen Teil eines Bildes vergrößern, in diesem Beispiel eine Nase.

Ich habe eine Funktion, um den Teil des Bildes auszuwählen, den ich vergrößern möchte.

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)

Ich habe auch eine Funktion zum Vergrößern eines Bildes:

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

z.B.
Von:

Zu:

Ich habe viele Dinge ausprobiert, kann aber nicht herausfinden, wie ich die beiden kombinieren kann, um einen Teil eines Bildes zu vergrößern und den Rest des Bildes intakt zu lassen.

So sollte das resultierende Bild aussehen (so lächerlich es auch ist),

Ich habe mit kleinen Bildern geübt, da die Ausführung des Programms so lange dauern kann, dass es zum jetzigen Zeitpunkt nicht möglich ist, mit größeren Bildern zu arbeiten, was bedeutet, dass die Ergebnisse lückenhaft sind, aber zumindest zeigen, ob es funktioniert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage