python-opencv 培训课程笔记(2)

python-opencv 培训课程笔记(2)

1.图像格式转换

先看一下cvtColor函数的例子

#默认加载彩图
path=r'D:\learn\photo\cv\cat.jpg'# imread(path,way)
#way=0 灰度图。way=1 彩图
#默认彩图
img=cv2.imread(path)
img_dog=cv2.imread(path_dog)
#图片格式的转化
#cv2.COLOR_BGR2GRAY#cv2.COLOR_BGR2RGB
#cv2.COLOR_BGR2HSV,HSV-色调、饱和度、亮度img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)img_hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)img_rgb=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)print(img.shape)
def cv_show(name,img):cv2.imshow(name,img)#cv2.waitKey(0),接收0,表示窗口暂停cv2.waitKey(0)#销毁所有窗口cv2.destroyAllWindows()
cv_show('hsv',img_hsv)  
cv_show('rgb',img_rgb)  
cv_show('hsv',img)  

cvtColor函数第二个参数可以选择转换格式:
#cv2.COLOR_BGR2GRAY 将BGR转换为灰度图

#cv2.COLOR_BGR2RGB 将BGR转换为RGB格式
#cv2.COLOR_BGR2HSV,HSV-色调、饱和度、亮度 将BGR进行HSV处理
下面我们看下效果:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

注意,opencv读取数据三通道的顺序是GBR
matplotlib顺序是读取数据三通道的顺序是RGB

2.图像阈值转化

#图像阈值
#二值化 
#THRESH_BINARY超过127 取 255否则取0
#THRESH_BINARY_INV  THRESH_BINARY的反转
#THRESH_TRUNC  超过127 取 255否则不变
#THRESH_TOZERO  超过127 取 不变否则取0#THRESH_TOZERO_INV THRESH_TOZERO的反转ret,dst1=cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)ret,dst2=cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY_INV)
ret,dst3=cv2.threshold(img_gray,127,255,cv2.THRESH_TRUNC)ret,dst4=cv2.threshold(img_gray,127,255,cv2.THRESH_TOZERO)ret,dst5=cv2.threshold(img_gray,127,255,cv2.THRESH_TOZERO_INV)images=[dst1,dst2,dst3,dst4,dst4]
titles=['Original','THRESH_BINARY','THRESH_BINARY_INV','THRESH_TRUNC','THRESH_TOZERO','THRESH_TOZERO_INV']
for i in range(5):plt.subplot(2,3,i+1)plt.imshow(images[i],'gray')plt.title(titles[i])plt.show()

cv2.threshold第二个参数解释如下
#THRESH_BINARY超过127 取 255否则取0
#THRESH_BINARY_INV THRESH_BINARY的反转
#THRESH_TRUNC 超过127 取 255否则不变
#THRESH_TOZERO 超过127 取 不变否则取0
#THRESH_TOZERO_INV THRESH_TOZERO的反转
看一下效果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/198003.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】基础语法(中)

C基础语法(中) 文章目录 C基础语法(中)01数组一维数组数组初始化注意访问练习1练习2练习3普通做法:优化reverse函数练习4 多维数组清空数组memsetmemcpy 数组的部分由上到下,按规律 蛇形矩阵技巧 02 字符串…

Yolov5

这里写目录标题 Yolov5Anchoryolov5s.yaml .pt文件 训练文件detect.py运行结果进行实时检测,rstp链接弹幕教学 train.py Yolov5 Anchor 1.Anchor是啥? anchor字面意思是锚,是个把船固定的东东(上图&#…

【Python从入门到进阶】42、使用requests的Cookie登录古诗文网站

接上篇《41、有关requests代理的使用》 上一篇我们介绍了requests代理的基本使用,本篇我们来学习如何利用requests的Cookie登录古诗文网。 一、登录网站及目的介绍 我们需要Cookie模拟登录的网站为:https://www.gushiwen.cn/(古诗文网&…

SpringBoot项目连接linux服务器数据库两种解决方法(linux直接开放端口访问本机通过SSH协议访问,以mysql为例)

最近找个springboot脚手架重新熟悉一下springboot相关框架的东西,结果发现好像项目还不能直接像数据库GUI工具一样填几个SSH参数就可以了,于是就给他再整一下看看如何解决 linux开放3306(可修改)端口直接访问 此方法较为方便&am…

从0开始学习数据结构 C语言实现 1.前篇及二分查找算法

一、前篇 1、什么是数据结构? 数据结构是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系 2、时间复杂度与空间复杂度 大O符号是用于描述函数渐进行为的数学符号 常用函数的增长表 阶乘O(n!) > 指数…

LeetCode - 26. 删除有序数组中的重复项 (C语言,快慢指针,配图)

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 思路一:快慢指针 在数组中,快慢指针就是两个整数下标,定义 fast 和 slow 这里我们从下标1开始(下标0的数据就1个,没有重复项)&…

Flutter最新稳定版3.16 新特性介绍

Flutter 3.16 默认采用 Material 3 主题,Android 平台预览 Impeller,DevTools 扩展等等 Flutter在每个季度通常都会有个稳定版本的发布。在2023 Q4的更新中为大家带来的是Flutter 3.16。这个版本将 Material 3 设为新的默认主题,并为 Android…

人生阶段总结

--回顾一下我迷茫、努力、不开心又失败的阶段人生自我介绍一下,我是一个智力平平,记忆力差,适合自学的长睡眠者。 大专之前 国内的应试教育基本上不适合我,厌恶补课厌恶机械式听课刷题,所有的优势学科都是自学&#xf…

Unity中Shader法线贴图(上)

文章目录 前言一、法线纹理的作用二、为什么法线贴图长这样?(蓝色)三、法线贴图能使纹理采样时,进行偏移采样四、在Shader中使用法线贴图1、在属性面板定义一个变量来接收法线贴图2、在使用前声明 _NormalTex3、在片元着色器中&am…

【Go入门】Web工作方式

【Go入门】 Web工作方式 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢? 对于普通的上网过程,系统其实是这样做的&…

内容运营工具:标签体系

一.分类和标签的区别 ■标签是扁平的,分类是层级的。 ■标签是精确的,分类是粗糙的。 ■标签是多维的,分类是一维的。 二.标签的本质:元数据 事实上,在数据领域,有一个鼎鼎大名的词汇与标签极其雷同&…

Python爬虫的七个常用技巧总结,这些你一定得知道!

文章目录 前言1、基本抓取网页2、使用代理IP3、Cookies处理4、伪装成浏览器5、验证码的处理6、gzip压缩7、多线程并发抓取关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战…

锐捷EG易网关login.php以及其后台cli.php/branch_passw.php RCE漏洞复现 [附POC]

文章目录 锐捷EG易网关login.php以及其后台cli.php/branch_passw.php远程代码执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 锐捷EG易网关login.php以及其后台cli.php/branch_passw.php远程代码执行漏洞复…

Mysql -常见函数

目录 字符串函数 数值函数 日期函数 流程函数 字符串函数 -- 拼接 SELECT CONCAT(Hello, World); -- 小写 SELECT LOWER(Hello); -- 大写 SELECT UPPER(Hello); -- 左填充 SELECT LPAD(01, 5, -); -- 右填充 SELECT RPAD(01, 5, -); -- 去除空格 SELECT TRIM( Hello World )…

批量替换WordPress文章内图片链接

在WordPress使用过程中,如果中途更换了域名,原先文章内的图片使用的是原来的域名,就会造成文章页里面的图片链接无法显示。如果从后台文章挨个修改就比较麻烦。可以通过数据库进行批量替换即可。 使用 PHPMyadmin 打开 数据库,登…

【C++】一文全解C++中的异常:标准库异常体系&自定义异常体系(含代码演示)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.C语言传统的处理错误的方式二.C异常…

修完这个 Bug 后,MySQL 性能提升了 300%

最近 MySQL 官方在 8.0.35 上修复了一个 bug: 这个 bug 是由 Mark Callaghan 发现的。Mark 早年在 Google MySQL 团队,后来去了 Meta MySQL,也主导了 RocksDB 的开发。 Mark 在 #109595 的 bug report 给出了非常详细的复现步骤 在官方修复后…

【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙

🌺个人主页:Dawn黎明开始 🎀系列专栏:网络奇幻之旅 ⭐每日一句:往前走,朝着光 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 📋前…

【Web】Ctfshow SSTI刷题记录1

目录 ①web361 362-无过滤 ②web363-过滤单双引号 ③web364-过滤单双引号和args ④web365-过滤中括号[]、单双引号、args ⑤web366-过滤单双引号、args、中括号[]、下划线 ⑦web367-过滤单双引号、args、中括号[]、下划线、os ⑧web368-过滤单双引号、args、中括号[]、下…

如何在 Nginx Proxy Manager(NPM)上部署静态网站

前言 众所周知,我们在之前介绍过 Nginx Proxy Manager(以下简称 NPM) 这个反向代理的神器,对于一些 Docker 搭建的 Web 项目,NPM 能够很轻松地给他们做反向代理。 然而对于一些静态网站,小伙伴们可能不知道怎么用 NP…