当前位置: 首页 > news >正文

惠州企业建站模板广州做网站的网络公司排名

惠州企业建站模板,广州做网站的网络公司排名,基于无网站网络营销的问题,室内装饰设计目录 目标 使用OpenCV 显示图像 写入图像 总结使用 使用Matplotlib 注:图片后续补充 目标 在这里,你将了解如何使用Python编程语言中的OpenCV库,实现读取、显示和保存图像的功能。具体来说,你将学习以下函数的用法&#xf…

目录

目标

使用OpenCV

显示图像

写入图像

总结使用

使用Matplotlib


注:图片后续补充

目标

在这里,你将了解如何使用Python编程语言中的OpenCV库,实现读取、显示和保存图像的功能。具体来说,你将学习以下函数的用法:cv.imread() 用于读取图像,cv.imshow() 用于显示图像,cv.imwrite() 用于将图像保存到本地文件系统中。

如果你有兴趣,还可以学习如何使用Matplotlib库来显示图像,这也是一种常见的图像显示方式。

在使用OpenCV库读取图像时,需要使用cv.imread()函数。读取图像时,需要提供图像文件的路径或文件名,函数将返回一个图像对象。

使用OpenCV


除此之外,cv.imread()函数还可以接收一个额外的参数,用于指定图像的读取方式。具体来说,可以使用以下三个标志:

  • cv.IMREAD_COLOR:用于加载彩色图像,会忽略任何图像的透明度,这也是默认标志;
  • cv.IMREAD_GRAYSCALE:用于以灰度模式加载图像;
  • cv.IMREAD_UNCHANGED:用于加载图像,包括alpha通道。

此外,还可以传递整数1、0或-1来表示这三个标志。

下面是使用cv.imread()函数读取图像的示例代码:

import numpy as np
import cv2 as cv#加载彩色灰度图像
img = cv.imread('messi5.jpg', 0)

在这里:0代表读取灰度图像,即将彩色图像转换为灰度图像
另外:

  1. cv.IMREAD_COLOR 或 1:读取彩色图像,忽略 alpha 通道,相当于使用默认值 1。
  2. cv.IMREAD_GRAYSCALE 或 0:读取灰度图像。
  3. cv.IMREAD_UNCHANGED 或 -1:读取原始图像,包括 alpha 通道(如果有)。

下面为效果图(没有报错代表读取成功):

警告

如果在使用OpenCV库读取图像时,提供的图像路径错误,不会引发任何错误,但是打印读取的图像对象时将返回None。换句话说,即使图像路径错误,程序也不会崩溃或抛出异常,而是返回一个空对象。

因此,为了确保程序能够正确读取图像,建议在提供图像路径之前,先检查路径是否正确,以避免意外的错误。

显示图像

使用函数**cv.imshow()**可以在窗口中显示图像。该函数会自动根据图像尺寸调整窗口大小。

在调用**cv.imshow()**函数时,第一个参数是窗口名称,是一个字符串类型的值。第二个参数是要显示的图像对象。你可以创建多个窗口,并指定不同的窗口名称,以显示多个图像。

import cv2 as cv#加载彩色灰度图像
img = cv.imread('messi5.jpg',0)cv.imshow('image',img)
cv.waitKey(0)
cv.destroyAllWindows()

窗口的屏幕截图如下所示:

在使用OpenCV库显示图像时,我们需要使用函数cv.imshow()。该函数需要一个窗口名称作为第一个参数,并需要传递要显示的图像作为第二个参数。调用该函数后,可以使用**cv.waitKey()**函数等待用户交互事件。

cv.waitKey()函数是一个键盘绑定函数,它等待指定毫秒数的时间,等待用户按下任何键或交互事件发生。

如果时间到期时仍未发生交互事件,则程序将继续执行。如果将0作为参数传递,则程序将无限等待用户交互事件。该函数还可以用于检测特定按键的按下事件,例如按下键盘上的字母a。需要注意的是,为了确保图像能够正确显示,必须在显示图像后使用cv.waitKey()**函数。

cv.destroyAllWindows()函数可以用于销毁我们创建的所有窗口,而cv.destroyWindow()函数可以销毁特定的窗口。

需要注意的是,在某些情况下,可以在创建一个空的窗口之后再将图像加载到该窗口中。这时,可以使用cv.namedWindow()**函数来设置窗口的属性,例如是否可以调整窗口大小。如果需要显示的图像尺寸过大或需要在窗口中添加跟踪栏时,可以使用该函数来设置窗口大小。

下面是使用OpenCV库显示图像的示例代码:

cv.namedWindow('image',cv.WINDOW_NORMAL)
cv.imshow('image',img)
cv.waitKey(0)
cv.destroyAllWindows()

效果图

写入图像

在使用OpenCV库保存图像时,需要使用函数cv.imwrite()。该函数需要两个参数:第一个参数是要保存的文件名,第二个参数是要保存的图像对象。

具体来说,你可以像这样调用cv.imwrite()函数:cv.imwrite('messigray.png',img)。这将会把图像以PNG格式保存在工作目录中,文件名为'messigray.png'。

需要注意的是,cv.imwrite()函数可以保存多种不同格式的图像,例如PNG、JPEG、BMP等。在调用该函数时,需要根据需要指定要保存的图像格式,即文件扩展名。

总结使用

下面的代码演示了如何使用OpenCV库加载、显示和保存图像。具体来说,它加载一张灰度图像,将其显示在屏幕上,等待用户按下键盘按键。如果用户按下's'键,则程序将保存图像到本地,并退出;如果用户按下'ESC'键,则程序将直接退出而不保存图像。

import numpy as np
import cv2 as cv
img = cv.imread('messi5.jpg',0)
cv.imshow('image',img)
k = cv.waitKey(0)
if k == 27:         # 等待ESC退出cv.destroyAllWindows()
elif k == ord('s'): # 等待关键字,保存和退出cv.imwrite('messigray.png',img)cv.destroyAllWindows()

警告

如果使用的是64位计算机,则必须k = cv.waitKey(0)按如下所示修改行:k = cv.waitKey(0) & 0xFF。

这是因为在64位计算机上,**cv.waitKey()**函数返回一个64位整数,但是ASCII码值只有8位。因此,将返回值与0xFF(即255)进行按位与运算,可以保留返回值的低8位,这是ASCII码的有效范围。

这种修改可以确保在64位计算机上正确读取键盘输入,并避免潜在的兼容性问题。

使用Matplotlib

Matplotlib是一款Python的绘图库,可以提供多种绘图方法,方便进行数据可视化和图像处理。在接下来的学习中,你将学习到如何使用Matplotlib库来展示和处理图像。通过Matplotlib,你可以方便地对图像进行缩放、保存等操作。

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])  # 隐藏 x 轴和 y 轴上的刻度值
plt.show()

窗口的屏幕截图如下所示: 

 

另外,有空可看看:

Matplotlib提供了许多绘图选项,可以根据需求进行图像的处理和展示。如果需要了解更多的绘图选项,可以参考Matplotlib文档以获取更多详细信息,其中会涵盖许多实用的技巧和方法。

需要注意的是:

当使用OpenCV加载彩色图像时,它处于BGR模式,而Matplotlib以RGB模式显示图像。因此,如果使用OpenCV加载彩色图像,那么在Matplotlib中将无法正确显示彩色图像。如果遇到这种情况,可以采用一些转换方法来将图像从BGR模式转换为RGB模式,以便正确地在Matplotlib中显示彩色图像。关于这个问题,我们将在接下来的练习中进行更详细的讨论。

http://www.yayakq.cn/news/671020/

相关文章:

  • 网站建设项目描述范文seo是什么职业合法吗
  • 最好网站开发公司电话网站建设比较好
  • 长沙做网站咨询公司不通过网站可以做360全景吗
  • 想做网站去哪里做网站开发求职信
  • 网站上怎么做星星评分wordpress文章输出数
  • 建设行政主管部门网站WordPress手机端底部悬浮窗
  • 2_网站建设的一般步骤包含哪些?免费制作公司网站
  • wordpress 后台文章 查询条件东莞网站优化多少钱
  • 重庆网站建设软件梧州网站优化公司
  • 岳阳网站开发培训没有公司个人可以做网站卖东西吗
  • 国外服装购物网站大全wordpress怎样切换语言
  • 江苏建设行政主管部门网站建筑企业信息查询平台
  • 网站文章要求文旅开发公司
  • 做导航网站怎么赚钱pinterest官网入口
  • 广州大型网站建设上海网站设计方法
  • 南昌网站建设代理商网站建设确认函
  • 陕西省建设监理协会网站主页如何自己开发app软件
  • 做网站什么公司好微信怎么开店铺小程序
  • 做资讯的网站网站建设需要的东西
  • 阿盟住房与建设局门户网站公司网站建设价位
  • 网站建设的策划文案崇信县门户网站留言首页
  • 广东省广州市佛山市seo工作流程图
  • 网站建设费用申请网站建设定位
  • 帮企业做网站前景怎么样制作网页第一件事就是选定一种
  • 做网站公司-深圳信科企业门户网站需求文档
  • 建设部网站哪里可以报名考监理员国外作品集网站
  • 怎么到百度做网站南宁江南区网站制作价格
  • 做字幕网站有哪些做微商如何引流推广?怎么找客源?
  • 专门做预言的网站安云自助建站系统源码
  • 网站域名hk果农在哪些网站做推广