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

OpenCV学习(一)——图像读取

1. 图像入门

  1. 读取图像
  2. 显示图像
  3. 写入图像
import cv2

# 读取图像
img = cv2.imread('lena.jpg')
print(img.shape)

# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 写入图像
cv2.imwrite('image.jpg', img)

请添加图片描述

1.1 读取图像

读取图像cv.imread(filename, flags),OpenCV加载的彩色图像处于BGR模式。

  • filename:图像的路径
  • flags:读取图像的方式。
    • cv2.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
    • cv2.IMREAD_GRAYSCALE:以灰度模式加载图像。
    • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。
# 读取灰度图像
img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE)

请添加图片描述

1.2 显示图像

一般这3个函数一起使用

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

显示图像cv.imshow(winname, mat)

  • winname:窗口名称
  • mat:读取的图像对象

cv2.waitKey()键盘绑定函数。其参数是以毫秒为单位的时间,等待任何键盘事件指定的毫秒。如果为0,则无限期地等待下一次敲击键。

cv2.destroyAllWindows()破坏我们创建的所有窗口

1.3 写入图像

读取图像cv.imwrite(filename, img)

  • filename:写入图像的文件名
  • img:要保存的图像

请添加图片描述


http://www.kler.cn/news/107312.html

相关文章:

  • Mysql 数据库
  • 数据分析和互联网医院小程序:提高医疗决策的准确性和效率
  • 网络协议--TCP:传输控制协议
  • 「网络编程」数据链路层协议_ 以太网协议学习
  • LeetCode 1465. 切割后面积最大的蛋糕
  • Elasticsearch7.8.1集群安装手册
  • vscode 保存 “index.tsx“失败: 权限不足。选择 “以超级用户身份重试“ 以超级用户身份重试。
  • Java NIO 高并发开发
  • 列表自动向上滚动
  • 【Android内存优化】内存泄露优化之强引用变弱引用完全详解
  • ElasticSearch快速入门实战
  • ConcurrentHashMap 的 size()方法是线程安全的吗?为什么
  • 程序生活 - 减肥小记
  • C复习-指针
  • WPF:自定义按钮模板
  • xxl-job-架构及原理
  • 【24种设计模式】单例模式(Singleton Pattern)
  • 基于MATLAB的电流、电压互感器特性的仿真分析
  • 数据库MySQL(六):事务
  • vue + html + Lodop打印功能
  • 归结原理、归结演绎推理
  • Qt中设置鼠标透明度的应用及示例
  • 计网小题题库整理第一轮(面向期末基础)(3)
  • Spring Boot Actuator 介绍
  • (二开)Flink 修改源码拓展 SQL 语法
  • 数据结构 | 算法的时间复杂度和空间复杂度【详解】
  • Android---Bitmap详解
  • 【计网 Socket编程】 中科大郑烇老师笔记 (九)
  • 基于单片机的温湿度检测及远程控制系统设计
  • rest参数