OPENCV的GUI特性:图像入门

我们先来理解一下什么是GUI特性;一起来学习摘自百度词条的信息:

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 

图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。 

这样来说,在以往的计算机显示界面中,都是信息的展示,也就是说展示出来的界面不是像现在这样的图形化,对于创作者来说减轻了工作的负担,但却加大了使用者对其的理解。所以,为了让计算机界面更加人性化,程序员是有必要学习GUI特性。 

 点击这里查看更多内容:百度词条:GUI特性


目录

target

1、读取图像,显示图像,写入图像

2、Matplotlib显示图像


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)


 

猜你喜欢

转载自blog.csdn.net/m0_62919535/article/details/127145113