opencv学习记录之一
时间:2020-01-09
本文章向大家介绍opencv学习记录之一,主要包括opencv学习记录之一使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在安装好OpenCV之后就可以开始学习了
首先要准备一张图像素材
接下来就是代码图像处理的基本操作
1 import cv2 首先要导入库 2 lena =cv2.imread("/home/miao/cat.jpg") 这里读取图片,注意路径不然图片不能读取 3 print(lena) 打印图片数据 4 if lena is None: 5 print("can not load lena") 6 else: 7 cv2.imshow("demo" , lena) 8 cv2.waitKey(0)
第一行
即为要导入该模块
第二行
读取图像,主要路径问题。否则不能读取图像
语法格式:
retval = cv2.imread( filename [, flags])
retval是返回值,如果没有图像则返回None
filename表示要读取的图像完整文件名
flags是读取标记,
以下是flasg各标记值,设置时第一列和第三列是等效的
值 | 含义 | 数值 |
cv2.IMREAD_UNCHANGED | 按原样返回加载的图像 | -1 |
cv2.IMREAD_GRAYSCALE | 将图像转换为单通道灰度图像 | 0 |
cv2.IMREAD_COLOR | 将图像转换为3通道BGR彩色图像 | 1 |
cv2.IMREAD_ANYDEPTH | 在输入具有相应深度时返回16位/ 32位图像就返回对应的深度图像,否则将其转换为8位 | 2 |
cv2.IMREAD_ANYCOLOR | 以任何可能的颜色格式读取图像 | 4 |
cv2.IMREAD_LOAD_GDAL | 使用gdal驱动程序加载图像 | 8 |
cv2.IMREAD_REDUCED_GRAYSCALE_2 | 将图像转换为单通道灰度图像,图像尺寸减小1/2 | |
cv2.IMREAD_REDUCED_COLOR_2 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/2 | |
cv2.IMREAD_REDUCED_GRAYSCALE_4 | 将图像转换为单通道灰度图像,图像尺寸减小1/4 | |
cv2.IMREAD_REDUCED_COLOR_4 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/4 | |
cv2.IMREAD_REDUCED_GRAYSCALE_8 | 将图像转换为单通道灰度图像,图像尺寸减小1/8 | |
cv2.IMREAD_REDUCED_COLOR_8 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/8 | |
cv2.IMREAD_IGNORE_ORIENTATION | 不要根据EXIF的方向标志旋转图像 |
第三行
打印图片数据
if语句是为了判断所读取的图像是否为空
第七行
创建一个名为"demo"的新窗口,将图像显示在建立的窗口内
语法格式:
None = cv2.imshow( winname , mat)
第八行
用来等待按键当按下按键该语句被执行,并获取返回值
语法格式:
retval = cv2.waitKey( [delay])
retval是返回值,没有按键按下则返回-1,有按键则返回该按键的ASCLL码
delay表示等待键盘触发的时间单位为ms,当该值为负数或者零则表示无限等待,该值默认为0
在按键触发时需要焦点落在生成的窗口,而不是终端,否则无法读取导致按键无反应
原文地址:https://www.cnblogs.com/miaorn/p/12172518.html
- 如何实现CDH元数据库MySQL的主主互备
- 在Kerberos环境使用Hue通过Oozie执行Sqoop作业报错异常分析
- 如何在Hue中配置已启用SSL的HttpFS服务
- 如何使用Nginx实现CDSW的跨网段访问
- 7.如何在OpenLDAP中实现将一个用户添加到多个组
- 如何使用java代码通过JDBC访问Sentry环境下的Hive
- 如何为HttpFS服务配置SSL
- 如何使用Java访问集成OpenLDAP并启用Sentry的Impala和Hive
- 如何向Hive表加载数据
- 如何使用Spark Streaming读取HBase的数据并写入到HDFS
- Hive Load本地数据文件异常分析
- 使用Java代码通过JDBC连接只启用Sentry的Impala异常分析
- 如何在CDSW中定制Docker镜像
- 干货:排名前 16 的 Java 工具类!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法