Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Don\'t use PIL, simply array manipulation in Python We can read and display imag

ID: 3680890 • Letter: D

Question

Don't use PIL, simply array manipulation in Python

We can read and display images in Python as follows. import numpy as np import scipy.misc as sm import matplotlib.pyplot as pit from matplotlib.pyplot import figure,imshow,gray, title u=sm. imread('barbara_512.png', 1) figure(); imshow (u); gray(); title('Barbara'); plt. show() In image processing we can think of the image u as a function of two variables u(x, y) defined on some region 0hm element of R^2. While implementing some algorithms, one has to maintain proper boundary conditions. For example, Neumann boundary condition implies that Nabla u n = 0 on the boundary partial derivative ohm where n is the outward pointing unit normal to the boundary. One way to achieve this is to extend the boundary by some factor. For example, if u is a 512 times 512 image, we obtain another image U with size 514 times 514. The image U is obtained expanding the image u by 1 pixel unit on all four sides, and the expansion is done by repeating the boundary values, i.e. the image U has top two rows same as the first row of u, bottom two rows same as the bottom row of u, and so one. Write a python function shrink (U, n), which shrinks the image U by n pixels on all four sides.

Explanation / Answer

import image win = image.ImageWin() img = image.Image("cy.png") factor = 2 W = img.getWidth() H = img.getHeight() newW = int(W*factor) newH = int(H*factor) newImage = image.EmptyImage(newW, newH) for col in range(newW): for row in range(newH): p = img.getPixel(col/factor,row/factor) newImage.setPixel(col,row,p) newImage.draw(win) win.exitonclick()

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote