精华内容
下载资源
问答
  • 匿名用户1级2010-05-12 回答代码:# show a jpeg (.jpg) image using wxPython, newer coding style# two different ways to load and display are given# tested with Python24 and wxPython25 vegaseat 24jul2005...

    匿名用户

    1级

    2010-05-12 回答

    代码:

    # show a jpeg (.jpg) image using wxPython, newer coding style

    # two different ways to load and display are given

    # tested with Python24 and wxPython25 vegaseat 24jul2005

    import wx

    import cStringIO

    class Panel1(wx.Panel):

    """ class Panel1 creates a panel with an image on it, inherits wx.Panel """

    def __init__(self, parent, id):

    # create the panel

    wx.Panel.__init__(self, parent, id)

    try:

    # pick a .jpg file you have in the working folder

    imageFile = 'Moo.jpg'

    data = open(imageFile, "rb").read()

    # convert to a data stream

    stream = cStringIO.StringIO(data)

    # convert to a bitmap

    bmp = wx.BitmapFromImage( wx.ImageFromStream( stream ))

    # show the bitmap, (5, 5) are upper left corner coordinates

    wx.StaticBitmap(self, -1, bmp, (5, 5))

    # alternate (simpler) way to load and display a jpg image from a file

    # actually you can load .jpg .png .bmp or .gif files

    jpg1 = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap()

    # bitmap upper left corner is in the position tuple (x, y) = (5, 5)

    wx.StaticBitmap(self, -1, jpg1, (10 + jpg1.GetWidth(), 5), (jpg1.GetWidth(), jpg1.GetHeight()))

    except IOError:

    print "Image file %s not found" % imageFile

    raise SystemExit

    app = wx.PySimpleApp()

    # create a window/frame, no parent, -1 is default ID

    # increase the size of the frame for larger images

    frame1 = wx.Frame(None, -1, "An image on a panel", size = (400, 300))

    # call the derived class

    Panel1(frame1,-1)

    frame1.Show(1)

    app.MainLoop()

    展开全文
  • python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。一、matplotlib1. 显示图片1234567891011import matplotlib.pyplot as plt# plt 用于...

    在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。

    一、matplotlib

    1. 显示图片

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    import matplotlib.pyplot as plt# plt 用于显示图片

    import matplotlib.image as mpimg# mpimg 用于读取图片

    import numpy as np

    lena= mpimg.imread('lena.png')# 读取和代码处于同一目录下的 lena.png

    # 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理

    lena.shape#(512, 512, 3)

    plt.imshow(lena)# 显示图片

    plt.axis('off')# 不显示坐标轴

    plt.show()

    2. 显示某个通道

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    # 显示图片的第一个通道

    lena_1= lena[:,:,0]

    plt.imshow('lena_1')

    plt.show()

    # 此时会发现显示的是热量图,不是我们预想的灰度图,可以添加 cmap 参数,有如下几种添加方法:

    plt.imshow('lena_1', cmap='Greys_r')

    plt.show()

    img= plt.imshow('lena_1')

    img.set_cmap('gray')# 'hot' 是热量图

    plt.show()

    3. 将 RGB 转为灰度图

    matplotlib 中没有合适的函数可以将 RGB 图转换为灰度图,可以根据公式自定义一个:

    1

    2

    3

    4

    5

    6

    7

    8

    def rgb2gray(rgb):

    return np.dot(rgb[...,:3], [0.299,0.587,0.114])

    gray= rgb2gray(lena)

    # 也可以用 plt.imshow(gray, cmap = plt.get_cmap('gray'))

    plt.imshow(gray, cmap='Greys_r')

    plt.axis('off')

    plt.show()

    4. 对图像进行放缩

    这里要用到 scipy

    1

    2

    3

    4

    5

    from scipyimport misc

    lena_new_sz= misc.imresize(lena,0.5)# 第二个参数如果是整数,则为百分比,如果是tuple,则为输出图像的尺寸

    plt.imshow(lena_new_sz)

    plt.axis('off')

    plt.show()

    5. 保存图像

    5.1 保存 matplotlib 画出的图像

    该方法适用于保存任何 matplotlib 画出的图像,相当于一个 screencapture。

    1

    2

    3

    plt.imshow(lena_new_sz)

    plt.axis('off')

    plt.savefig('lena_new_sz.png')

    5.2 将 array 保存为图像

    1

    2

    from scipyimport misc

    misc.imsave('lena_new_sz.png', lena_new_sz)

    5.3 直接保存 array

    读取之后还是可以按照前面显示数组的方法对图像进行显示,这种方法完全不会对图像质量造成损失

    1

    2

    np.save('lena_new_sz', lena_new_sz)# 会在保存的名字后面自动加上.npy

    img= np.load('lena_new_sz.npy')# 读取前面保存的数组

    二、PIL

    1. 显示图片

    1

    2

    3

    from PILimport Image

    im= Image.open('lena.png')

    im.show()

    2. 将 PIL Image 图片转换为 numpy 数组

    1

    2

    im_array= np.array(im)

    # 也可以用 np.asarray(im) 区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝

    3. 保存 PIL 图片

    直接调用 Image 类的 save 方法

    1

    2

    3

    from PILimport Image

    I= Image.open('lena.png')

    I.save('new_lena.png')

    4. 将 numpy 数组转换为 PIL 图片

    这里采用 matplotlib.image 读入图片数组,注意这里读入的数组是 float32 型的,范围是 0-1,而 PIL.Image 数据是 uinit8 型的,范围是0-255,所以要进行转换:

    1

    2

    3

    4

    5

    import matplotlib.image as mpimg

    from PILimport Image

    lena= mpimg.imread('lena.png')# 这里读入的数据是 float32 型的,范围是0-1

    im= Image.fromarray(np.uinit8(lena*255))

    im.show()

    5. RGB 转换为灰度图

    1

    2

    3

    4

    5

    from PILimport Image

    I= Image.open('lena.png')

    I.show()

    L= I.convert('L')

    L.show()

    以上就是本文的全部内容,希望对大家的学习有所帮助

    展开全文
  • python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。一、matplotlib1. 显示图片import matplotlib.pyplot as plt # plt 用于显示图片import ...

    在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。

    一、matplotlib

    1. 显示图片

    import matplotlib.pyplot as plt # plt 用于显示图片

    import matplotlib.image as mpimg # mpimg 用于读取图片

    import numpy as np

    lena = mpimg.imread('lena.png') # 读取和代码处于同一目录下的 lena.png

    # 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理

    lena.shape #(512, 512, 3)

    plt.imshow(lena) # 显示图片

    plt.axis('off') # 不显示坐标轴

    plt.show()

    2. 显示某个通道

    # 显示图片的第一个通道

    lena_1 = lena[:,:,0]

    plt.imshow('lena_1')

    plt.show()

    # 此时会发现显示的是热量图,不是我们预想的灰度图,可以添加 cmap 参数,有如下几种添加方法:

    plt.imshow('lena_1', cmap='Greys_r')

    plt.show()

    img = plt.imshow('lena_1')

    img.set_cmap('gray') # 'hot' 是热量图

    plt.show()

    3. 将 RGB 转为灰度图

    matplotlib 中没有合适的函数可以将 RGB 图转换为灰度图,可以根据公式自定义一个:

    def rgb2gray(rgb):

    return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])

    gray = rgb2gray(lena)

    # 也可以用 plt.imshow(gray, cmap = plt.get_cmap('gray'))

    plt.imshow(gray, cmap='Greys_r')

    plt.axis('off')

    plt.show()

    4. 对图像进行放缩

    这里要用到 scipy

    from scipy import misc

    lena_new_sz = misc.imresize(lena, 0.5) # 第二个参数如果是整数,则为百分比,如果是tuple,则为输出图像的尺寸

    plt.imshow(lena_new_sz)

    plt.axis('off')

    plt.show()

    5. 保存图像

    5.1 保存 matplotlib 画出的图像

    该方法适用于保存任何 matplotlib 画出的图像,相当于一个 screencapture。

    plt.imshow(lena_new_sz)

    plt.axis('off')

    plt.savefig('lena_new_sz.png')

    5.2 将 array 保存为图像

    from scipy import misc

    misc.imsave('lena_new_sz.png', lena_new_sz)

    5.3 直接保存 array

    读取之后还是可以按照前面显示数组的方法对图像进行显示,这种方法完全不会对图像质量造成损失

    np.save('lena_new_sz', lena_new_sz) # 会在保存的名字后面自动加上.npy

    img = np.load('lena_new_sz.npy') # 读取前面保存的数组

    二、PIL

    1. 显示图片

    from PIL import Image

    im = Image.open('lena.png')

    im.show()

    2. 将 PIL Image 图片转换为 numpy 数组

    im_array = np.array(im)

    # 也可以用 np.asarray(im) 区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝

    3. 保存 PIL 图片

    直接调用 Image 类的 save 方法

    from PIL import Image

    I = Image.open('lena.png')

    I.save('new_lena.png')

    4. 将 numpy 数组转换为 PIL 图片

    这里采用 matplotlib.image 读入图片数组,注意这里读入的数组是 float32 型的,范围是 0-1,而 PIL.Image 数据是 uinit8 型的,范围是0-255,所以要进行转换:

    import matplotlib.image as mpimg

    from PIL import Image

    lena = mpimg.imread('lena.png') # 这里读入的数据是 float32 型的,范围是0-1

    im = Image.fromarray(np.uinit8(lena*255))

    im.show()

    5. RGB 转换为灰度图

    from PIL import Image

    I = Image.open('lena.png')

    I.show()

    L = I.convert('L')

    L.show()

    以上就是本文的全部内容,希望对大家的学习有所帮助

    到此这篇关于python如何实现读取并显示图片(不需要图形界面)的文章就介绍到这了,更多相关Python 读取并显示图片内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    本文标题: python如何实现读取并显示图片(不需要图形界面)

    本文地址: http://www.cppcns.com/jiaoben/python/324786.html

    展开全文
  • 我使用wxPython作为GUI库使用,打算做一个相册,现在用wxPython自带的wx.StaticBitmap()载入图片,但是,图片显示不全。 然后考虑使用cv2库。问题是,cv2打开图片怎么绑定到wxPython的panal ?
  • python界面上的图片缩放,根据窗口大小

    万次阅读 多人点赞 2018-04-28 20:02:28
    为了方便在tkinter的界面上显示完整的图片、原比例的图片,找了不少帖子,找到了个有用的例子,在最后封装成了函数(方便使用) 显示本地上的图片并且随着窗口而改变大小的代码(非动态的) 代码参考了→...

    为了方便在tkinter的界面上显示完整的图片、原比例的图片,找了不少帖子,找到了个有用的例子,在最后封装成了函数(方便使用)

     

    显示本地上的图片并且随着窗口而改变大小的代码(非动态的)

    代码参考了→https://blog.csdn.net/yangdashi888/article/details/73321919

    下面的换一下图片路径就能看到效果了

     

    import io  
    from PIL import Image, ImageTk  
    import tkinter as tk  
    
    def resize(w, h, w_box, h_box, pil_image):  
      ''' 
      resize a pil_image object so it will fit into 
      a box of size w_box times h_box, but retain aspect ratio 
      对一个pil_image对象进行缩放,让它在一个矩形框内,还能保持比例 
      '''  
      f1 = 1.0*w_box/w # 1.0 forces float division in Python2  
      f2 = 1.0*h_box/h  
      factor = min([f1, f2])  
      #print(f1, f2, factor) # test  
      # use best down-sizing filter  
      width = int(w*factor)  
      height = int(h*factor)  
      return pil_image.resize((width, height), Image.ANTIALIAS)  
      
    
    root = tk.Tk()  
    # size of image display box you want  
    #期望图像显示的大小  
    w_box = 800  
    h_box = 800  
    
      
    # open as a PIL image object  
    #以一个PIL图像对象打开  
    pil_image = Image.open(r'C:\Users\23216\Desktop\1.jpg')  
      
    # get the size of the image  
    #获取图像的原始大小  
    w, h = pil_image.size  
      
    # resize the image so it retains its aspect ration  
    # but fits into the specified display box  
    #缩放图像让它保持比例,同时限制在一个矩形框范围内  
    pil_image_resized = resize(w, h, w_box, h_box, pil_image)  
      
      
    # convert PIL image object to Tkinter PhotoImage object  
    # 把PIL图像对象转变为Tkinter的PhotoImage对象  
    tk_image = ImageTk.PhotoImage(pil_image_resized)  
      
    # put the image on a widget the size of the specified display box  
    # Label: 这个小工具,就是个显示框,小窗口,把图像大小显示到指定的显示框   
    label = tk.Label(root, image=tk_image, width=w_box, height=h_box)  
    #padx,pady是图像与窗口边缘的距离   
    label.pack(padx=5, pady=5)  
    root.mainloop()  
    

     

     

     

     

     

    封装的函数

    ps:等号分割线内是使用过程

     

    import io    
    from PIL import Image, ImageTk    
    import tkinter as tk    
      
    #对一个pil_image对象进行缩放,让它在一个矩形框内,还能保持比例   
    
    def resize( w_box, h_box, pil_image): #参数是:要适应的窗口宽、高、Image.open后的图片
      w, h = pil_image.size #获取图像的原始大小   
      f1 = 1.0*w_box/w 
      f2 = 1.0*h_box/h    
      factor = min([f1, f2])   
      width = int(w*factor)    
      height = int(h*factor)    
      return pil_image.resize((width, height), Image.ANTIALIAS)    
    
    
    root = tk.Tk()    #创建窗口,必须在ImageTk.PhotoImage()之前!
    
    #resize函数使用过程:  
    #==================================================================
    w_box = 700    #期望图像显示的大小(窗口大小)
    h_box = 100    
    
    pil_image = Image.open(r'C:\Users\23216\Desktop\1.jpg')    #以一个PIL图像对象打开  【调整待转图片格式】  
    
    pil_image_resized = resize( w_box, h_box, pil_image)    #缩放图像让它保持比例,同时限制在一个矩形框范围内  【调用函数,返回整改后的图片】  
    
    tk_image = ImageTk.PhotoImage(pil_image_resized)    # 把PIL图像对象转变为Tkinter的PhotoImage对象  【转换格式,方便在窗口展示】  
    #====================================================================  
      
    
    # Label: 这个小工具,就是个显示框,小窗口,把图像大小显示到指定的显示框     
    label = tk.Label(root, image=tk_image, width=w_box, height=h_box)    
    #padx,pady是图像与窗口边缘的距离     
    label.pack(padx=5, pady=5)    
    root.mainloop()    

     

     

    效果:

     

     

    300*600窗口

     

    700*100窗口:

     

     

    展开全文
  • 最近用tkinter写了个打开本地图片并且将rect的坐标值标注在图片上的工具,这样就可以实现定量的分析了。Python需要的第三方库有:pillow,opencv。至于tkinter的那些基本知识,我就不提了。直接上代码吧。 from .....
  • python打开网络图片并缩放

    千次阅读 2018-12-13 16:25:17
    # 以一个PIL图像对象打开 pil_image = Image.open(data_stream) # get the size of the image # 获取图像的原始大小 w, h = pil_image.size # resize the image so it retains its aspect ration # but fits ...
  • 基于树莓派的python界面开发实例教程环境测试新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 简介作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一。目前,市面上支持Python 的“GUI 工具包”很多,各有特点,虽然大多数工具包的基础类似,但要学习一个新包并掌握其细节还是非常耗时的,因此,在...
  • python新手 希望大佬们指教 ``` # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'tt.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made...
  • 批量修改图片像素大小:Python GUI 交互界面实现 1、Python 修改图片像素大小 Python 的 PIL 包可以实现图片的读写、像素大小的设置。 安装 pillow 第三方模块: pip install pillow 设置图片大小的示例代码: from ...
  • 请问有什么解决办法吗,非常感谢! ![图片说明](https://img-ask.csdn.net/upload/201707/14/1500003110_524458.png) ...[图片说明](https://img-ask.csdn.net/upload/201707/14/1500003117_811056.png)
  • Python+wxPython+OpenCV 界面图片浏览和处理

    千次阅读 热门讨论 2018-04-13 21:53:24
    (一开始考虑的就是跨平台,所以Python代码能在Windows和Linux下面运行,唯一的要求是wxPython版本要在3.0以上,因为wxPython+matplotlib使用要求,其他任意,python2和3的区别只要改一下print函数就可以了) ...
  • python开发消消乐小游戏,完整代码+详细开发流程,收藏收藏
  • python写爬虫,老师叫我加界面设计,怎么弄写界面的话可以有两种方式,一种是GUI方式,可以使用tk或者QT之类的还有一种就是使用WEB方式,做一个HTML的界面,可以使用简单的flask来做python怎么使用qtdesigner设计...
  • python爬取百度图片

    2017-07-22 16:51:24
    python爬取百度搜索的图片 URL可自行替换
  • python爬虫爬取图片

    千次阅读 多人点赞 2020-12-27 15:46:49
    进去后是这样的,右键检查图片也可以发现我们需要的图片链接都是在这个界面的,那么到这里基本上久分析完成了,可以进行下一步了。 2.敲代码 养成好习惯,先把网站的headers获取一下(有些网站的访问并不需要headers...
  • 文本填入你想要显示在界面上的名字 对象名称处填入你代码中对对象的命名 图标处的...下拉选中从文件中读取,选中你想要的icon 这样就完成了一个ACTION的创建 将创建完毕的action拖入工具栏之后就可以显示了,此外在...
  • Python GUI 打开图像并显示(一)

    万次阅读 多人点赞 2018-11-26 15:37:17
    通过GUI 界面搭建实现对图像的打开,程序如下 # 创建GUI窗口打开图像 并显示在窗口中 from PIL import Image, ImageTk # 导入图像处理函数库 import tkinter as tk # 导入GUI界面函数库 # 创建窗口 设定大小...
  • Python图形用户界面-Tkinter

    万次阅读 多人点赞 2017-08-22 10:19:58
    Tkinter是什么python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多一个直观的功能,如何想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用...
  • python GUI读写图片

    2020-06-29 22:01:34
    python GUI读写图片 一、 from tkinter import * from tkinter.filedialog import askdirectory import os def selectPath(): path_ = askdirectory() path.set(path_) def gener_list(): filenames = os....
  • python tkinter写图形界面

    千次阅读 2017-09-27 20:28:01
    python tkinter模块做了一个小demo,页面上设置4个按钮,每个按钮点击会有流水的滴答声,每个按钮调用相应的方法,在此点击按钮后调用的方法仅为显示一个消息弹窗,显示图片的按钮打开文件对话框,可选择文件。...
  • 如图系统可通过摄像头获取实时画面并识别其中的人脸表情,也可以通过读取图片识别,本文提供完整的程序文件并详细介绍其实现过程。博文要点如下:表情识别数据集、搭建表情识别的模型、数据增强的批量训练、系统UI...
  • Python 图片注入js

    千次阅读 多人点赞 2020-06-30 00:38:02
    Python 关于图片注入js问题 ...把一张bmp图片python二进制文件模式(r+b)打开, 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进
  • python画字符图片

    2019-04-11 21:30:45
    突然间对python用字符去画图产生了兴趣,就找到了下面这段别人的代码,通过理解,写上了自己的注释,做一下记录。 from PIL import Image #从PIL模块导入Image类 import argparse #引入argparse这个模块。argparse ...
  • 需求:公司系统图片系统导入商品图片有格式大小要求350x550像素大小,因为手工的去更改的比较麻烦工作量大, 所以就想办法用Python做一个桌面小工具批量的进行图片尺寸大小处理,一劳永逸了。功能比较简单:1、找到...
  • Python识别图片中的文字

    万次阅读 多人点赞 2020-05-17 12:49:59
    path = 'text_img/' # 获取图片路径列表 imgs = [path + i for i in os.listdir(path)] # 打开文件 f = open('text.txt', 'w+', encoding='utf-8') # 将各个图片的路径写入text.txt文件当中 for img in imgs: f....
  • Python爬取淘宝图片

    万次阅读 2017-10-19 03:57:06
    爬取淘女郎模特图片与相关信息
  • Python 爬虫 之 根据图片网址爬取图片 目录 Python 爬虫 之 根据图片网址爬取图片 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤 五、关键代码 一、简单介绍 Python是一种跨平台的计算机程序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,515
精华内容 13,006
关键字:

python界面打开图片

python 订阅