我们先来理解一下什么是GUI特性;一起来学习摘自百度词条的信息:
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。
这样来说,在以往的计算机显示界面中,都是信息的展示,也就是说展示出来的界面不是像现在这样的图形化,对于创作者来说减轻了工作的负担,但却加大了使用者对其的理解。所以,为了让计算机界面更加人性化,程序员是有必要学习GUI特性。
点击这里查看更多内容:百度词条:GUI特性
目录
1、读取图像,显示图像,写入图像
(1)读取图像
使用**cv.imread**()函数读取图像。
第一个参数:“a.完整路径;b.本项目路径下可以只写图片的命名”
第二个参数:指定了读取图像的方式
- cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
- cv.IMREAD_GRAYSCALE:以灰度模式加载图像
- cv.IMREAD_UNCHANGED:加载图像,包括alpha通道
注意:这里不需要记,我们可以简单的传入三个整数1、0或-1
参考下面的代码:
#加载彩色灰度图像
import numpy as np
import cv2 as cv
img = cv.imread('1.jpg',0)
(2)显示图像
使用函数**cv.imshow()**在窗口中显示图像。
第一个参数:窗口名称,字符串形式。
第二个参数:显示的对象
import cv2 as cv
cv.imshow('image',img)
cv.waitKey(0)
cv.destroyAllWindows()
cv.waitKey()是一个键盘绑定函数,其参数是以毫秒为单位的时间。简单来说——传入0,可以让窗口不消失。
cv.destroyAllWindows()在其中传递确切的窗口名称作为参数,销毁特定的窗口。
(3)写入图像
使用函数**cv.imwrite**()保存图像。
第一个参数:文件名,
第二个参数:要保存的图像。
比如:
cv.imwrite("2.jpg",img)
图像将会以jpg格式保存到当前项目的目录下。
总结
我们来看看下面的程序,包含了上面所讲的所有信息,并且我们要实现敲击Esc键,退出程序,点击键盘“s”,表示保存这个图片。
import cv2
import numpy as np
img = cv2.imread("1.jpg",0) #灰度图像转化
cv2.imshow("image",img)
k = cv2.waitkey(0) & 0xFF
if k == 27:
cv2.destroyAllWindows()
#break
elif k == ord('s'):
cv2.imwrite("2.png",img)
cv2.destroyAllWindows
如果电脑是64位,就将cv2.waitkey(0)修改成了cv2.waitkey(0) & 0xFF,我想大多数人应该都是64位机吧。
使用Matplotlib
Matplotlib是python优秀的第三方绘图库,其中有许多的绘图方法,感兴趣的可以看我的数据分析专栏,其中就有关于Matplotlib的介绍,可点击这里进入,(1条消息) 数据分析_夏天是冰红茶的博客-CSDN博客
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread("1.jpg",0)
plt.imshow(img,cmap = 'gray',interpolation = 'bicubic')
plt.xticks([]),plt.yticks([])
plt.show()
更多关于Matplotlib的介绍,可以去官网学习。除此之外,强调一点,在Opencv当中加载的色彩图像处于BGR模式,但在Matplotlib是以RGB格式进行加载,所以我们要用到cv2.cvtColor(img,cv2.COLOR_BGR2RGB)