用 tkinter 实现选择路径打开照片并显示照片(有解决中文路径、中文档名问题)

# -*- coding: utf-8 -*-
import cv2
import numpy as np
from tkinter import filedialog
import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
videoFrame = tk.Frame(root).pack()
video = tk.Label(videoFrame)
video.pack()
def cv_imread(filePath):
    cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),-1)
    return cv_img
def oas():
    sfname = filedialog.askopenfilename(title='选择',
                                        filetypes=[
                                            ('All Files','*'),
                                            ("jpeg files","*.jpg"),
                                            ("png files","*.png"),
                                            ("gif files","*.gif")])

    im = cv_imread(sfname)
    cv2image = cv2.cvtColor(im, cv2.COLOR_BGR2RGBA)
    img = Image.fromarray(cv2image)
    imgtk = ImageTk.PhotoImage(image=img)
    video.imgtk = imgtk
    video.configure(image=imgtk)

B1 = tk.Button(root, text="打开",command = oas).pack()
root.mainloop()

<<:  专业人士可以实现员工入职流程自动化的方式

>>:  用 cv 2 、tkinter 实现选择路径打开照片并显示照片、照片直方图 histogram

诠释 behavioral, creational and structural pattern 的概念

这次要来看到~ 设计模式中~ 三种类型(创建、结构、行为)模式的概念~ 学习目标: 创建模式、结构模...

Day 16 AWS云端实作起手式第六弹 串接两大网路流量导流服务Route53和ELB

今天我们会把Route 53串接到昨天建置的ELB上。但开始之前,我们先问自己一个问题,Route ...

[Day 5]新手村外的首战是史莱姆应该是定番吧(後端篇)

今天我们实作Users的CRUD,但今天因为花很多时间在前端的Header的排版,所以没有什麽时间可...

【从实作学习ASP.NET Core】Day15 | 後台 | 自定义使用者栏位

延续昨天的会员功能,预设会员资讯栏位只有 Email 和 Password,今天要加上一些栏位让会员...

第13章:分析、储存与存取系统日志介绍(二)

前言 继上次介绍了系统日志与相关的介绍後,接下来介绍该如何使用journalctl将日志档案永久的储...