Why image is more blurred through PIL? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) 2019 Moderator Election Q&A - Questionnaire 2019 Community Moderator Election ResultsWhy do pre-trained CNNs use low image resolution?Image processing algorithmUniformity of color and texture in an imageCalculate image widthGenerating image embedding using CNNImage Matching for similar productsOptimisation of Image classifier CNNCrop all written letters from image to form a websiteWhy does TensorFlow convert my decoded image to float32 instead of uint8/16?

NERDTreeMenu Remapping

How to force a browser when connecting to a specific domain to be https only using only the client machine?

What are the main differences between Stargate SG-1 cuts?

Sally's older brother

Did Mueller's report provide an evidentiary basis for the claim of Russian govt election interference via social media?

Trying to understand entropy as a novice in thermodynamics

How does the math work when buying airline miles?

License to disallow distribution in closed source software, but allow exceptions made by owner?

RSA find public exponent

retrieve food groups from food item list

Why is a lens darker than other ones when applying the same settings?

Tannaka duality for semisimple groups

Printing attributes of selection in ArcPy?

Why are vacuum tubes still used in amateur radios?

What adaptations would allow standard fantasy dwarves to survive in the desert?

How can I prevent/balance waiting and turtling as a response to cooldown mechanics

two integers one line calculator

In musical terms, what properties are varied by the human voice to produce different words / syllables?

What initially awakened the Balrog?

I can't produce songs

Random body shuffle every night—can we still function?

Can an iPhone 7 be made to function as a NFC Tag?

How can a team of shapeshifters communicate?

Why not send Voyager 3 and 4 following up the paths taken by Voyager 1 and 2 to re-transmit signals of later as they fly away from Earth?



Why image is more blurred through PIL?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
2019 Moderator Election Q&A - Questionnaire
2019 Community Moderator Election ResultsWhy do pre-trained CNNs use low image resolution?Image processing algorithmUniformity of color and texture in an imageCalculate image widthGenerating image embedding using CNNImage Matching for similar productsOptimisation of Image classifier CNNCrop all written letters from image to form a websiteWhy does TensorFlow convert my decoded image to float32 instead of uint8/16?










2












$begingroup$


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'


Code:



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()


enter image description hereenter image description here










share|improve this question









$endgroup$











  • $begingroup$
    Is PIL's version current ? PIL changed default options for resize.
    $endgroup$
    – Shamit Verma
    Apr 4 at 5:37










  • $begingroup$
    Are you redefining the img as a random numpy array before plotting?
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:59










  • $begingroup$
    Nope, as you can see in code, I just read it from PIL read function and then directly plotted it. I am not converting it into array format
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:09















2












$begingroup$


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'


Code:



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()


enter image description hereenter image description here










share|improve this question









$endgroup$











  • $begingroup$
    Is PIL's version current ? PIL changed default options for resize.
    $endgroup$
    – Shamit Verma
    Apr 4 at 5:37










  • $begingroup$
    Are you redefining the img as a random numpy array before plotting?
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:59










  • $begingroup$
    Nope, as you can see in code, I just read it from PIL read function and then directly plotted it. I am not converting it into array format
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:09













2












2








2





$begingroup$


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'


Code:



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()


enter image description hereenter image description here










share|improve this question









$endgroup$




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'


Code:



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()


enter image description hereenter image description here







cnn opencv image-preprocessing






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 4 at 5:31









Arohan AjitArohan Ajit

112




112











  • $begingroup$
    Is PIL's version current ? PIL changed default options for resize.
    $endgroup$
    – Shamit Verma
    Apr 4 at 5:37










  • $begingroup$
    Are you redefining the img as a random numpy array before plotting?
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:59










  • $begingroup$
    Nope, as you can see in code, I just read it from PIL read function and then directly plotted it. I am not converting it into array format
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:09
















  • $begingroup$
    Is PIL's version current ? PIL changed default options for resize.
    $endgroup$
    – Shamit Verma
    Apr 4 at 5:37










  • $begingroup$
    Are you redefining the img as a random numpy array before plotting?
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:59










  • $begingroup$
    Nope, as you can see in code, I just read it from PIL read function and then directly plotted it. I am not converting it into array format
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:09















$begingroup$
Is PIL's version current ? PIL changed default options for resize.
$endgroup$
– Shamit Verma
Apr 4 at 5:37




$begingroup$
Is PIL's version current ? PIL changed default options for resize.
$endgroup$
– Shamit Verma
Apr 4 at 5:37












$begingroup$
Are you redefining the img as a random numpy array before plotting?
$endgroup$
– Pedro Henrique Monforte
Apr 4 at 11:59




$begingroup$
Are you redefining the img as a random numpy array before plotting?
$endgroup$
– Pedro Henrique Monforte
Apr 4 at 11:59












$begingroup$
Nope, as you can see in code, I just read it from PIL read function and then directly plotted it. I am not converting it into array format
$endgroup$
– Arohan Ajit
Apr 5 at 6:09




$begingroup$
Nope, as you can see in code, I just read it from PIL read function and then directly plotted it. I am not converting it into array format
$endgroup$
– Arohan Ajit
Apr 5 at 6:09










1 Answer
1






active

oldest

votes


















0












$begingroup$

Try specifying the resampling filter. Default filter (Nearest Neighbor) is fast but results are not as good.



image=Image.open("../content/cell_images/Parasitized/"+i)
size_image = image.resize((50, 50),PIL.Image.LANCZOS)


Documentation : https://pillow.readthedocs.io/en/latest/reference/Image.html
https://pillow.readthedocs.io/en/latest/handbook/concepts.html#concept-filters






share|improve this answer









$endgroup$








  • 1




    $begingroup$
    Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:56











  • $begingroup$
    Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:11










  • $begingroup$
    For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
    $endgroup$
    – Shamit Verma
    Apr 5 at 7:12











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "557"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48571%2fwhy-image-is-more-blurred-through-pil%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0












$begingroup$

Try specifying the resampling filter. Default filter (Nearest Neighbor) is fast but results are not as good.



image=Image.open("../content/cell_images/Parasitized/"+i)
size_image = image.resize((50, 50),PIL.Image.LANCZOS)


Documentation : https://pillow.readthedocs.io/en/latest/reference/Image.html
https://pillow.readthedocs.io/en/latest/handbook/concepts.html#concept-filters






share|improve this answer









$endgroup$








  • 1




    $begingroup$
    Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:56











  • $begingroup$
    Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:11










  • $begingroup$
    For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
    $endgroup$
    – Shamit Verma
    Apr 5 at 7:12















0












$begingroup$

Try specifying the resampling filter. Default filter (Nearest Neighbor) is fast but results are not as good.



image=Image.open("../content/cell_images/Parasitized/"+i)
size_image = image.resize((50, 50),PIL.Image.LANCZOS)


Documentation : https://pillow.readthedocs.io/en/latest/reference/Image.html
https://pillow.readthedocs.io/en/latest/handbook/concepts.html#concept-filters






share|improve this answer









$endgroup$








  • 1




    $begingroup$
    Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:56











  • $begingroup$
    Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:11










  • $begingroup$
    For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
    $endgroup$
    – Shamit Verma
    Apr 5 at 7:12













0












0








0





$begingroup$

Try specifying the resampling filter. Default filter (Nearest Neighbor) is fast but results are not as good.



image=Image.open("../content/cell_images/Parasitized/"+i)
size_image = image.resize((50, 50),PIL.Image.LANCZOS)


Documentation : https://pillow.readthedocs.io/en/latest/reference/Image.html
https://pillow.readthedocs.io/en/latest/handbook/concepts.html#concept-filters






share|improve this answer









$endgroup$



Try specifying the resampling filter. Default filter (Nearest Neighbor) is fast but results are not as good.



image=Image.open("../content/cell_images/Parasitized/"+i)
size_image = image.resize((50, 50),PIL.Image.LANCZOS)


Documentation : https://pillow.readthedocs.io/en/latest/reference/Image.html
https://pillow.readthedocs.io/en/latest/handbook/concepts.html#concept-filters







share|improve this answer












share|improve this answer



share|improve this answer










answered Apr 4 at 5:43









Shamit VermaShamit Verma

1,6391414




1,6391414







  • 1




    $begingroup$
    Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:56











  • $begingroup$
    Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:11










  • $begingroup$
    For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
    $endgroup$
    – Shamit Verma
    Apr 5 at 7:12












  • 1




    $begingroup$
    Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
    $endgroup$
    – Pedro Henrique Monforte
    Apr 4 at 11:56











  • $begingroup$
    Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
    $endgroup$
    – Arohan Ajit
    Apr 5 at 6:11










  • $begingroup$
    For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
    $endgroup$
    – Shamit Verma
    Apr 5 at 7:12







1




1




$begingroup$
Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
$endgroup$
– Pedro Henrique Monforte
Apr 4 at 11:56





$begingroup$
Still, Nearest Neighbor does not wield blurred image. It is actually causes a aliasing-like effect which can be solved by blurring
$endgroup$
– Pedro Henrique Monforte
Apr 4 at 11:56













$begingroup$
Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
$endgroup$
– Arohan Ajit
Apr 5 at 6:11




$begingroup$
Actually I was looking into various kernels for this dataset, and what they did was read it using cv2.imread and then converting it back into image format using image.from_array. I plotted that as well and still same results.
$endgroup$
– Arohan Ajit
Apr 5 at 6:11












$begingroup$
For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
$endgroup$
– Shamit Verma
Apr 5 at 7:12




$begingroup$
For plotting, you are converting it to 10, 10 thumbnail. Is that intentional ?
$endgroup$
– Shamit Verma
Apr 5 at 7:12

















draft saved

draft discarded
















































Thanks for contributing an answer to Data Science Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48571%2fwhy-image-is-more-blurred-through-pil%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High