Why cannot python PIL show two images in one program
Here is my code:
img = Image.open('data/img.jpg')
lb = Image.open('data/label.png')
img.show('img')
img.close()
lb.show('lb')
lb.close()
After running this program, the first image is successfully showed, but the second image will not be shown unless I comment the code associated with the first image. What is the cause of this problem.
python python-imaging-library
add a comment |
Here is my code:
img = Image.open('data/img.jpg')
lb = Image.open('data/label.png')
img.show('img')
img.close()
lb.show('lb')
lb.close()
After running this program, the first image is successfully showed, but the second image will not be shown unless I comment the code associated with the first image. What is the cause of this problem.
python python-imaging-library
It works for me.
– Goyo
Nov 13 '18 at 11:15
You could temporarily append the images side-by-side and show the result if you replace lines 3-6 with this:Image.fromarray(np.hstack((np.array(img),np.array(lb)))).show()
– Mark Setchell
Nov 13 '18 at 11:18
@Goyo you run this program and two windows are opened to show two images?
– coin cheung
Nov 13 '18 at 11:23
Yes. I guess it might depend on the actual program used to show the image and how it is invoked. Note that you can customize that with thecommandkeyword.
– Goyo
Nov 13 '18 at 11:43
add a comment |
Here is my code:
img = Image.open('data/img.jpg')
lb = Image.open('data/label.png')
img.show('img')
img.close()
lb.show('lb')
lb.close()
After running this program, the first image is successfully showed, but the second image will not be shown unless I comment the code associated with the first image. What is the cause of this problem.
python python-imaging-library
Here is my code:
img = Image.open('data/img.jpg')
lb = Image.open('data/label.png')
img.show('img')
img.close()
lb.show('lb')
lb.close()
After running this program, the first image is successfully showed, but the second image will not be shown unless I comment the code associated with the first image. What is the cause of this problem.
python python-imaging-library
python python-imaging-library
asked Nov 13 '18 at 11:01
coin cheungcoin cheung
1227
1227
It works for me.
– Goyo
Nov 13 '18 at 11:15
You could temporarily append the images side-by-side and show the result if you replace lines 3-6 with this:Image.fromarray(np.hstack((np.array(img),np.array(lb)))).show()
– Mark Setchell
Nov 13 '18 at 11:18
@Goyo you run this program and two windows are opened to show two images?
– coin cheung
Nov 13 '18 at 11:23
Yes. I guess it might depend on the actual program used to show the image and how it is invoked. Note that you can customize that with thecommandkeyword.
– Goyo
Nov 13 '18 at 11:43
add a comment |
It works for me.
– Goyo
Nov 13 '18 at 11:15
You could temporarily append the images side-by-side and show the result if you replace lines 3-6 with this:Image.fromarray(np.hstack((np.array(img),np.array(lb)))).show()
– Mark Setchell
Nov 13 '18 at 11:18
@Goyo you run this program and two windows are opened to show two images?
– coin cheung
Nov 13 '18 at 11:23
Yes. I guess it might depend on the actual program used to show the image and how it is invoked. Note that you can customize that with thecommandkeyword.
– Goyo
Nov 13 '18 at 11:43
It works for me.
– Goyo
Nov 13 '18 at 11:15
It works for me.
– Goyo
Nov 13 '18 at 11:15
You could temporarily append the images side-by-side and show the result if you replace lines 3-6 with this:
Image.fromarray(np.hstack((np.array(img),np.array(lb)))).show() – Mark Setchell
Nov 13 '18 at 11:18
You could temporarily append the images side-by-side and show the result if you replace lines 3-6 with this:
Image.fromarray(np.hstack((np.array(img),np.array(lb)))).show() – Mark Setchell
Nov 13 '18 at 11:18
@Goyo you run this program and two windows are opened to show two images?
– coin cheung
Nov 13 '18 at 11:23
@Goyo you run this program and two windows are opened to show two images?
– coin cheung
Nov 13 '18 at 11:23
Yes. I guess it might depend on the actual program used to show the image and how it is invoked. Note that you can customize that with the
command keyword.– Goyo
Nov 13 '18 at 11:43
Yes. I guess it might depend on the actual program used to show the image and how it is invoked. Note that you can customize that with the
command keyword.– Goyo
Nov 13 '18 at 11:43
add a comment |
1 Answer
1
active
oldest
votes
You can multithread to display both at once:
#!/usr/local/bin/python3
from PIL import Image
from threading import Thread
def display(im):
im.show()
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
t1=Thread(target=display,args=(im1,))
t1.start()
t2=Thread(target=display,args=(im2,))
t2.start()

Or you can temporarily concatenate the images into one:
#!/usr/local/bin/python3
from PIL import Image
import numpy as np
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
Image.fromarray(np.hstack((np.array(im1),np.array(im2)))).show()

add a comment |
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',
autoActivateHeartbeat: false,
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%2f53279573%2fwhy-cannot-python-pil-show-two-images-in-one-program%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
You can multithread to display both at once:
#!/usr/local/bin/python3
from PIL import Image
from threading import Thread
def display(im):
im.show()
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
t1=Thread(target=display,args=(im1,))
t1.start()
t2=Thread(target=display,args=(im2,))
t2.start()

Or you can temporarily concatenate the images into one:
#!/usr/local/bin/python3
from PIL import Image
import numpy as np
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
Image.fromarray(np.hstack((np.array(im1),np.array(im2)))).show()

add a comment |
You can multithread to display both at once:
#!/usr/local/bin/python3
from PIL import Image
from threading import Thread
def display(im):
im.show()
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
t1=Thread(target=display,args=(im1,))
t1.start()
t2=Thread(target=display,args=(im2,))
t2.start()

Or you can temporarily concatenate the images into one:
#!/usr/local/bin/python3
from PIL import Image
import numpy as np
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
Image.fromarray(np.hstack((np.array(im1),np.array(im2)))).show()

add a comment |
You can multithread to display both at once:
#!/usr/local/bin/python3
from PIL import Image
from threading import Thread
def display(im):
im.show()
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
t1=Thread(target=display,args=(im1,))
t1.start()
t2=Thread(target=display,args=(im2,))
t2.start()

Or you can temporarily concatenate the images into one:
#!/usr/local/bin/python3
from PIL import Image
import numpy as np
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
Image.fromarray(np.hstack((np.array(im1),np.array(im2)))).show()

You can multithread to display both at once:
#!/usr/local/bin/python3
from PIL import Image
from threading import Thread
def display(im):
im.show()
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
t1=Thread(target=display,args=(im1,))
t1.start()
t2=Thread(target=display,args=(im2,))
t2.start()

Or you can temporarily concatenate the images into one:
#!/usr/local/bin/python3
from PIL import Image
import numpy as np
im1 = Image.open('1.jpg')
im2 = Image.open('2.jpg')
Image.fromarray(np.hstack((np.array(im1),np.array(im2)))).show()

answered Nov 13 '18 at 11:41
Mark SetchellMark Setchell
88.2k676176
88.2k676176
add a comment |
add a comment |
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.
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%2f53279573%2fwhy-cannot-python-pil-show-two-images-in-one-program%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
It works for me.
– Goyo
Nov 13 '18 at 11:15
You could temporarily append the images side-by-side and show the result if you replace lines 3-6 with this:
Image.fromarray(np.hstack((np.array(img),np.array(lb)))).show()– Mark Setchell
Nov 13 '18 at 11:18
@Goyo you run this program and two windows are opened to show two images?
– coin cheung
Nov 13 '18 at 11:23
Yes. I guess it might depend on the actual program used to show the image and how it is invoked. Note that you can customize that with the
commandkeyword.– Goyo
Nov 13 '18 at 11:43