Python image resize
Print('writing to disk'.format(out_f_path)) In this tutorial, we shall the syntax of cv2.resize and get hands-on with examples provided for most of the. To resize an image, OpenCV provides cv2.resize() function. Also, the aspect ratio of the original image could be preserved in the resized image. Img = img.resize((max_px_size, hsize), Image.ANTIALIAS) OpenCV Python Resize image Resizing an image means changing the dimensions of it, be it width alone, height alone or changing both of them. We will put an image in our relative path. We will import the Image class from the PIL module and the display () method from the IPython.display module. We can resize an image using the resize () method of the Image class available in the PIL module. Hsize = int(float(height_0) * float(wpercent)) The PIL is an acronym for Python Imaging Library, which contains some modules for image processing. Out_f_path = os.path.join(output_folder, out_f_name)
#Python image resize code
Not the prettiest but gets the job done and is easy to understand: def resize(img_path, max_px_size, output_folder): These few lines of Python code resize an image (fullsizedimage.jpg) using Pillow to a width of 300 pixels, which is set in the variable. Return img.resize(size_new, resample=Image.LANCZOS)Ī simple method for keeping constrained ratios and passing a max width / height. If img_ratio = video_ratio: # image is not tall enough Width, height = video_size # these are the MAX dimensions So after I couldn't find an obvious way to do that here (or at some other places), I wrote this function and put it here for the ones to come: from PIL import Imageĭef get_resized_img(img_path, video_size): The Image.thumbnail method was promising, but I could not make it upscale a smaller image. I was trying to resize some images for a slideshow video and because of that, I wanted not just one max dimension, but a max width and a max height (the size of the video frame).Īnd there was always the possibility of a portrait video. I hope it might be helpful to someone out there! I tried to document it as much as I can, so it is clear. # Enter the name under which you would like to save the new imageĪnd, it is done. # resample filter ->, (default),, etc. #new_width = round(new_height * asp_rat) # uncomment the second line (new_width) and comment the first one (new_height) # NOTE: if you want to adjust the width to the height, instead ->
Img = img.resize((new_width, new_height), Image.ANTIALIAS) Img = Image.open(img_path) # puts our image to the buffer of the PIL.Image object You do not need the semicolons ( ), I keep them just to remind myself of syntax of languages I use more often. In this case, it will adjust the height to match the width of the new image, based on the initial aspect ratio, asp_rat, which is float (!).īut, to adjust the width to the height, instead, you just need to comment one line and uncomment the other in the else loop. I will also add a version of the resize that keeps the aspect ratio fixed.