I was using PIL library to open an image and then convert it into array later on for DL operations. However I found out that image opened was blurry as opposed to the original image. Why is the image coming out the way it is? and what can be done to fix it? If a possible solution is present in OpenCV that'd be welcome as well.
I tried to use OpenCV as well but I was getting an Assertion Error i.e
error: OpenCV(3.4.3) /io/opencv/modules/imgproc/src/resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
from PIL import Image import numpy as np import pandas as pd import os import cv2 import keras from keras.models import Sequential from keras.layers import Conv2D,MaxPooling2D,Dense,Flatten,Dropout import matplotlib.pyplot as plt image=Image.open("../content/cell_images/Parasitized/"+i) size_image = image.resize((50, 50)) print("image") plot(image,count) print("resize image") plot(size_image,count)
Here is the code for plotting:
def plot(img, count): w=10 h=10 fig=plt.figure(figsize=(8, 8)) img = np.random.randint(10, size=(h,w)) fig.add_subplot(rows, columns, count) plt.imshow(img) plt.show()