OpenCV半小时掌握基本操作之色彩空间
作者:我是小白呀 发布时间:2021-01-05 05:27:31
标签:OpenCV,色彩空间,python
【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️色彩空间
概述
OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 6 课)
色彩空间
色彩空间 (Color Space) 即以同的空间维度来表示某一色彩 (通常使用 3 个或者 4 个 值).
常见的色彩空间:
RGB
HSV
HIS
YCrCb
YUV
色彩空间转换
原图:
代码实现:
import numpy as np
import cv2
def color_space(image):
"""色彩空间转换"""
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
hls = cv2.cvtColor(image, cv2.COLOR_BGR2HLS)
ycrcb = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb)
yuv = cv2.cvtColor(image, cv2.COLOR_BGR2YUV)
h1 = np.hstack((hsv, hls))
h2 = np.hstack((ycrcb, yuv))
stack = np.vstack((h1, h2))
return stack
# 读取图片
img = cv2.imread("beautiful_girl.jpg")
# 不同色彩空间
stack = color_space(img)
# 图片展示
cv2.imshow("stack", stack)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果:
视频阈值
import numpy as np
import cv2
def video_capture():
"""读取视频"""
# 从摄像头获取视频
capture = cv2.VideoCapture(0)
# 循环
while (True):
# 读取一帧
ret, frame = capture.read()
# 如果读取帧, 返回值为False, break
if ret == False:
break
# 设置颜色阈值
lower = np.array([0, 0, 0])
upper = np.array([100, 100, 255])
mask = cv2.inRange(frame, lowerb=lower, upperb=upper)
# 展示
cv2.imshow("video", frame)
cv2.imshow("mask", mask)
# 按下q键退出
if cv2.waitKey(20) & 0xFF == ord("q"):
break
if __name__ == "__main__":
video_capture()
输出结果:
来源:https://blog.csdn.net/weixin_46274168/article/details/119071359


猜你喜欢
- 在Navicat中,时间戳(timestamp)格式的数据表现为:查询某一天的数据SELECT * FROM my_tableWHERE `
- 代码如下:<SCRIPT LANGUAGE="JavaScript"> <!-- //说明:这里用了M
- 任何事情都是由量变到质变的过程,学习Python也不例外。只有把一个语言中的常用函数了如指掌了,才能在处理问题的过程中得心应手,快速地找到最
- 伙伴遇到一个关于excel导入数据到python中,日期变成数字而不是日期格式的问题。第一反应这个数字应该是excel里面的时间戳类似的,所
- 百度了一下,找了点别人的方法改进了一下。 获取天气网址:http://www.weather.com.cn/html/weather/101
- 很多朋友在论坛和留言区域问mysql在什么情况下才需要进行分库分表,以及采用何种设计方式才是最优的选择,根据这些问题,小编为大家整理了关于M
- 上python课程时需要设计一个系统,想着为系统加一个启动动画,所以做成了图片加进度条的形式。本文旨在用python实现无边框的进度条,并在
- 一、XGBoostXGBoost并不是一种模型,而是一个可供用户轻松解决分类、回归或排序问题的软件包。1 XGBoost的优点简单易用。相对
- 执行环境会负责管理代码执行过程中使用的内存,编写JavaScript程序时,所需内存的分配以及无用内存的回收完全实现自动管理。原理:找出那些
- 出于工作需要,学习了GAN,原理这块就不多讲了,主要讲怎么训练自己的数据生成新的图片,因为博客上大多是生成MNIST数据集,生成自己的图片时
- 背景:使用python脚本传递参数在实际工作过程中还是比较常用,以下提供了好几种的实现方式:一、使用sys.argv的数组传入说明:使用sy
- 列表 List列表是任意对象的集合,在 Python 中通过逗号分隔的对象序列括在方括号 ( [] ) 中people_list = [
- 数据库设计(Database Design)的概念:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之
- 1、说明Tasks用于并发调度协程,通过asyncio.create_task(协程对象)创建Task对象,使协程能够加入事件循环,等待调度
- 出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-
- 一、创建配置文件在D盘建立一个配置文件,名字为:test.ini内容如下:[baseconf]host=127.0.0.1port=3306
- 故障表现一方面 :在阿里云控制台云数据库PolarDB对应的集群管理页面上,在诊断与优化模块里面的一键诊断会话管理中,发现某条update
- js写常用导航鼠标下经过下方横线自动跟随html代码如下:<div class="header"> &nbs
- 这次主要是爬了京东上一双鞋的相关评论:将数据保存到excel中并可视化展示相应的信息主要的python代码如下:文件1#将excel中的数据
- 简介在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找