Tkinter GUI tested on Linux shows corrupted images on Windows10











up vote
-1
down vote

favorite












I wrote a GUI using tkinter on Linux, which just loads and displays images from numpy arrays, which is converted into a image using PIL, and then to a PhotoImage. This is loaded into a Canvas. Everything works perfect in Linux, Python2.7:



import Tkinter as tk
import numpy as np
from PIL import Image, ImageTk
# array is a 2D numpy array.
image = Image.fromarray(array)
image = image.resize((width, height), Image.ANTIALIAS)
# Until this point, I can display the correct image on the IPython console using imshow()
image = ImageTk.PhotoImage(master=root, image=image)
canvas.create_image(0,0, anchor='nw', image=image)


Now when testing this GUI on Windows10, everything works fine, but the image loaded looks corrupted. The original image was a normal-looking gray-scaled MRI. The displayed image on Windows looks like this:



enter image description here



No matter what image I load, they all look like weird vertical lines. No recognizable shapes or anything.



Does anybody recognize this type of corruption? The image looks fine after converting from array and resizing. But after using ImageTk.PhotoImage everything seems to go wrong.










share|improve this question






















  • Please provide some data that can be used to create a 2D numpy array to allow folks to recreate the problem.
    – martineau
    Nov 20 at 2:16










  • Try using a Label instead of a Canvas. Do you still get the same result?
    – Novel
    Nov 20 at 2:19










  • @martineau But not even I can recreate the problem. This seems to be a system dependencies issue. I am asking for help in recognizing the image corruption and possible links to python libraries
    – hirschme
    Nov 20 at 2:20










  • @Novel Everything else in the program works fine. Including other labels, widgets, buttons.. The one and only thing not working is the image display
    – hirschme
    Nov 20 at 2:21






  • 1




    I mean put the image in a Label instead of a Canvas. I want to know if it's the image or the Canvas that causing the issue.
    – Novel
    Nov 20 at 3:52















up vote
-1
down vote

favorite












I wrote a GUI using tkinter on Linux, which just loads and displays images from numpy arrays, which is converted into a image using PIL, and then to a PhotoImage. This is loaded into a Canvas. Everything works perfect in Linux, Python2.7:



import Tkinter as tk
import numpy as np
from PIL import Image, ImageTk
# array is a 2D numpy array.
image = Image.fromarray(array)
image = image.resize((width, height), Image.ANTIALIAS)
# Until this point, I can display the correct image on the IPython console using imshow()
image = ImageTk.PhotoImage(master=root, image=image)
canvas.create_image(0,0, anchor='nw', image=image)


Now when testing this GUI on Windows10, everything works fine, but the image loaded looks corrupted. The original image was a normal-looking gray-scaled MRI. The displayed image on Windows looks like this:



enter image description here



No matter what image I load, they all look like weird vertical lines. No recognizable shapes or anything.



Does anybody recognize this type of corruption? The image looks fine after converting from array and resizing. But after using ImageTk.PhotoImage everything seems to go wrong.










share|improve this question






















  • Please provide some data that can be used to create a 2D numpy array to allow folks to recreate the problem.
    – martineau
    Nov 20 at 2:16










  • Try using a Label instead of a Canvas. Do you still get the same result?
    – Novel
    Nov 20 at 2:19










  • @martineau But not even I can recreate the problem. This seems to be a system dependencies issue. I am asking for help in recognizing the image corruption and possible links to python libraries
    – hirschme
    Nov 20 at 2:20










  • @Novel Everything else in the program works fine. Including other labels, widgets, buttons.. The one and only thing not working is the image display
    – hirschme
    Nov 20 at 2:21






  • 1




    I mean put the image in a Label instead of a Canvas. I want to know if it's the image or the Canvas that causing the issue.
    – Novel
    Nov 20 at 3:52













up vote
-1
down vote

favorite









up vote
-1
down vote

favorite











I wrote a GUI using tkinter on Linux, which just loads and displays images from numpy arrays, which is converted into a image using PIL, and then to a PhotoImage. This is loaded into a Canvas. Everything works perfect in Linux, Python2.7:



import Tkinter as tk
import numpy as np
from PIL import Image, ImageTk
# array is a 2D numpy array.
image = Image.fromarray(array)
image = image.resize((width, height), Image.ANTIALIAS)
# Until this point, I can display the correct image on the IPython console using imshow()
image = ImageTk.PhotoImage(master=root, image=image)
canvas.create_image(0,0, anchor='nw', image=image)


Now when testing this GUI on Windows10, everything works fine, but the image loaded looks corrupted. The original image was a normal-looking gray-scaled MRI. The displayed image on Windows looks like this:



enter image description here



No matter what image I load, they all look like weird vertical lines. No recognizable shapes or anything.



Does anybody recognize this type of corruption? The image looks fine after converting from array and resizing. But after using ImageTk.PhotoImage everything seems to go wrong.










share|improve this question













I wrote a GUI using tkinter on Linux, which just loads and displays images from numpy arrays, which is converted into a image using PIL, and then to a PhotoImage. This is loaded into a Canvas. Everything works perfect in Linux, Python2.7:



import Tkinter as tk
import numpy as np
from PIL import Image, ImageTk
# array is a 2D numpy array.
image = Image.fromarray(array)
image = image.resize((width, height), Image.ANTIALIAS)
# Until this point, I can display the correct image on the IPython console using imshow()
image = ImageTk.PhotoImage(master=root, image=image)
canvas.create_image(0,0, anchor='nw', image=image)


Now when testing this GUI on Windows10, everything works fine, but the image loaded looks corrupted. The original image was a normal-looking gray-scaled MRI. The displayed image on Windows looks like this:



enter image description here



No matter what image I load, they all look like weird vertical lines. No recognizable shapes or anything.



Does anybody recognize this type of corruption? The image looks fine after converting from array and resizing. But after using ImageTk.PhotoImage everything seems to go wrong.







python tkinter windows-10






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 at 1:58









hirschme

9018




9018












  • Please provide some data that can be used to create a 2D numpy array to allow folks to recreate the problem.
    – martineau
    Nov 20 at 2:16










  • Try using a Label instead of a Canvas. Do you still get the same result?
    – Novel
    Nov 20 at 2:19










  • @martineau But not even I can recreate the problem. This seems to be a system dependencies issue. I am asking for help in recognizing the image corruption and possible links to python libraries
    – hirschme
    Nov 20 at 2:20










  • @Novel Everything else in the program works fine. Including other labels, widgets, buttons.. The one and only thing not working is the image display
    – hirschme
    Nov 20 at 2:21






  • 1




    I mean put the image in a Label instead of a Canvas. I want to know if it's the image or the Canvas that causing the issue.
    – Novel
    Nov 20 at 3:52


















  • Please provide some data that can be used to create a 2D numpy array to allow folks to recreate the problem.
    – martineau
    Nov 20 at 2:16










  • Try using a Label instead of a Canvas. Do you still get the same result?
    – Novel
    Nov 20 at 2:19










  • @martineau But not even I can recreate the problem. This seems to be a system dependencies issue. I am asking for help in recognizing the image corruption and possible links to python libraries
    – hirschme
    Nov 20 at 2:20










  • @Novel Everything else in the program works fine. Including other labels, widgets, buttons.. The one and only thing not working is the image display
    – hirschme
    Nov 20 at 2:21






  • 1




    I mean put the image in a Label instead of a Canvas. I want to know if it's the image or the Canvas that causing the issue.
    – Novel
    Nov 20 at 3:52
















Please provide some data that can be used to create a 2D numpy array to allow folks to recreate the problem.
– martineau
Nov 20 at 2:16




Please provide some data that can be used to create a 2D numpy array to allow folks to recreate the problem.
– martineau
Nov 20 at 2:16












Try using a Label instead of a Canvas. Do you still get the same result?
– Novel
Nov 20 at 2:19




Try using a Label instead of a Canvas. Do you still get the same result?
– Novel
Nov 20 at 2:19












@martineau But not even I can recreate the problem. This seems to be a system dependencies issue. I am asking for help in recognizing the image corruption and possible links to python libraries
– hirschme
Nov 20 at 2:20




@martineau But not even I can recreate the problem. This seems to be a system dependencies issue. I am asking for help in recognizing the image corruption and possible links to python libraries
– hirschme
Nov 20 at 2:20












@Novel Everything else in the program works fine. Including other labels, widgets, buttons.. The one and only thing not working is the image display
– hirschme
Nov 20 at 2:21




@Novel Everything else in the program works fine. Including other labels, widgets, buttons.. The one and only thing not working is the image display
– hirschme
Nov 20 at 2:21




1




1




I mean put the image in a Label instead of a Canvas. I want to know if it's the image or the Canvas that causing the issue.
– Novel
Nov 20 at 3:52




I mean put the image in a Label instead of a Canvas. I want to know if it's the image or the Canvas that causing the issue.
– Novel
Nov 20 at 3:52

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fstackoverflow.com%2fquestions%2f53385159%2ftkinter-gui-tested-on-linux-shows-corrupted-images-on-windows10%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • 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.


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





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • 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.


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%2fstackoverflow.com%2fquestions%2f53385159%2ftkinter-gui-tested-on-linux-shows-corrupted-images-on-windows10%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

Costa Masnaga

Fotorealismo

Sidney Franklin