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:
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
|
show 4 more comments
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:
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
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
|
show 4 more comments
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:
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
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:
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
python tkinter windows-10
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
|
show 4 more comments
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
|
show 4 more comments
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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