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

OpenCV基础01-图像文件的读取与保存

介绍:
OpenCV是 Open Souce C omputer V sion Library的简称。要使用OpenCV需要安装OpenCV包,使用前需要导入OpenCV模块
安装 命令 pip install opencv-python
导入 模块 import cv2

1. 图像的读取

import cv2
img = cv2.imread(path, flag)

这里的flag 是可选参数,默认是 1,将图像转为三通道 BGR 色彩空间。
如果是0表示将图像转为 灰度再读取

2. 图像的保存

import cv2
cv2.imwrite(path, imageObject)

3. 图像的显示-- 使用matplotlib

import cv2
import matplotlib.pyplot as plt
img = cv2.imread('come.jpg')
plt.imshow(img)
plt.show()

结果:
在这里插入图片描述
这里第一张图是用画图工具打开显示的,第二张图是 python matplotlib 显示的图片,二者的不同是因为,cv2.imread() 返回的是BGR 色彩空间,而我们一般所用的RGB色彩空间,可以通过色彩空间的转化实现第一张图。

import cv2
import matplotlib.pyplot as plt
img = cv2.imread('come.jpg')
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
plt.show()

结果:转换之后的显示一致了

在这里插入图片描述

4. 灰度读取显示

import cv2
import matplotlib.pyplot as plt
img = cv2.imread('come.jpg',0)
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
plt.show()

结果:
在这里插入图片描述

import cv2
import matplotlib.pyplot as plt
img = cv2.imread('come.jpg',65)
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
plt.show()

缩小1/8, 结果
在这里插入图片描述

5. 图像显示 – 使用OpenCV自带的函数

import cv2
import matplotlib.pyplot as plt
img = cv2.imread('come.jpg',1)
cv2.imshow("titlename",img) # 指定窗口名为 titlename 显示 img 对象
ret = cv2.waitKey(0) # 等待按键输入,0 表示无限等待,参数单位是毫秒,ret 是按键返回的按键值,可以通过 ord('A') 查看 A的键值
cv2.destroyWindow("titlename") # 关闭 titlename 窗口

结果:
在这里插入图片描述

http://www.xdnf.cn/news/647.html

相关文章:

  • 【每日八股】复习计算机网络 Day3:TCP 协议的其他相关问题
  • Qt基础005(文件操作后续)
  • 中间件--ClickHouse-14--案例-3-其他案例思路概述
  • 爆肝整理!Stable Diffusion的完全使用手册(二)
  • trivy开源安全漏洞扫描器——筑梦之路
  • 【21天学习打卡挑战赛】如何学习WEB安全:逼自己在短时间掌握WEB安全核心内容
  • 深入理解 CICD 与 Jenkins 流水线:从原理到实践
  • Python 项目环境配置与 Vanna 安装避坑指南 (PyCharm + venv)
  • 机器学习中的“三态模型“:过拟合、欠拟合和刚刚好
  • WordPress按分类ID调用该分类的内容数量
  • 【网络】数据链路层知识梳理
  • Vue3项目自定义全局防抖节流
  • Linux命令-Shell编程
  • 星拍相机APP:时尚与科技的完美融合,打造你的专属美
  • 【Docker项目实战】使用Docker部署Jupyter Notebook服务
  • go语言对http协议的支持
  • 对象多态与行为多态
  • 网络开发基础(游戏)之 二进制数据处理
  • SSM(SpringMVC+spring+mybatis)整合的步骤以及相关依赖
  • JVM垃圾回收器整理
  • Oracle EBS COGS Recognition重复生成(一借一贷)
  • Docker Registry(镜像仓库)
  • Linux网络编程 TCP---并发服务器:多进程架构与端口复用技术实战指南
  • OpenCV 高斯模糊 cv2.GaussianBlur
  • k8s 基础入门篇之开启 firewalld
  • 网络原理 - 应用层, 传输层(UDP 和 TCP) 进阶, 网络层, 数据链路层 [Java EE]
  • 为什么this与super不能出现在同一构造器的原因
  • 计算机视觉与深度学习 | Transformer原理,公式,代码,应用
  • 深度解析算法之前缀和
  • 【中间件】nginx将请求负载均衡转发给网关,网关再将请求转发给对应服务