Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit af17166

Browse files
Update image_viewer.py
Updated to support viewing of any kind of image using OpenCV ImEncode() API.
1 parent 75c8e5c commit af17166

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

‎Sample GUI Implementation/image_viewer.py‎

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,21 @@
1212
new_filename = values["image_file"].replace(extension, "png")
1313
im = Image.open(values["image_file"])
1414
im.save(new_filename)
15+
16+
OR
17+
18+
cv2.imencode('.png', IMAGE)[1].tobytes()
1519
'''
1620

1721
import os.path
1822
import PySimpleGUI as sg
23+
import cv2
1924

2025
FILE_SELECT_COLUMN_LAYOUT = [
2126
[sg.Text("Image Folder:")],
2227
[sg.In(size=(52, 1), enable_events=True, key="-FOLDER-"),
2328
sg.FolderBrowse(tooltip="Select a folder"),],
24-
[sg.Text("Images Retrieved: **(PNG/GIF)")],
29+
[sg.Text("Images Retrieved:")],
2530
[sg.Listbox(values=[], enable_events=True, size=(59, 20), key="-FILE LIST-")],]
2631

2732
IMAGE_VIEWER_COLUMN_LAYOUT = [
@@ -66,8 +71,7 @@
6671
FILE_LIST = []
6772

6873
FNAMES = [imgfile for imgfile in FILE_LIST
69-
if os.path.isfile(os.path.join(FOLDER, imgfile))
70-
and imgfile.lower().endswith((".png", ".gif"))]
74+
if os.path.isfile(os.path.join(FOLDER, imgfile))]
7175

7276
WINDOW["-FILE LIST-"].update(FNAMES)
7377

@@ -77,7 +81,14 @@
7781
VALUES["-FOLDER-"], VALUES["-FILE LIST-"][0]
7882
)
7983
WINDOW["-IMAGE_FILE-"].update(FILENAME)
80-
WINDOW["-IMAGE-"].update(filename=FILENAME)
84+
IMAGE = cv2.imread(FILENAME) # pylint: disable=no-member
85+
86+
# Resize the image if the dimension is to large.
87+
if IMAGE.shape[0] > 999 and IMAGE.shape[1] > 768:
88+
IMAGE = cv2.resize(IMAGE, (1024, 768), interpolation=cv2.INTER_NEAREST) # pylint: disable=no-member
89+
90+
WINDOW["-IMAGE-"].update(data=cv2.imencode('.png', IMAGE)[1].tobytes()) # pylint: disable=no-member
91+
# WINDOW["-IMAGE-"].update(filename=FILENAME)
8192
WINDOW["-STATIC_TEXT-"].update("Image Selected:", font=("Helvetica", 12))
8293

8394
except: # pylint: disable=bare-except

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /