新闻动态

OpenCV半小时掌握基本操作之色彩空间

发布日期:2022-01-31 12:08 | 文章来源:gibhub

【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()

输出结果:

到此这篇关于OpenCV半小时掌握基本操作之色彩空间的文章就介绍到这了,更多相关OpenCV色彩空间内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

海外服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部