初学opencv 2

上个文章讲了opencv的安装,以及读写照片,显示照片,图片的属性。
如果没有看过的,下面是链接初学opencv 1

1.视频的读取

和图片一样,视频也可以被电脑获取,处理出我们想要的东西。
在这里插入图片描述
这个截图是我从电脑里读取的,他是这次我们处理的视频。
这个人手上拿了一个绿色的光盘…或者碟子???这都无所谓,主要的是我们要知道它能够干什么。
opencv的作用就是可以把能够突出的某种颜色展示出来,比如说我们把其他颜色都变成黑色,然后把绿色变成白色,那么是不是就可以更加明显的看出来了?
代码如下:

import cv2 as cv
import numpy as np

def extrace_object_demo():
    capture = cv.VideoCapture("C:/Users/dahula/Desktop/lalal.mp4")
    while(True):
        ret, frame = capture.read()
        if ret == 0:
            break
        hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)
        lower_hsv = np.array([37,43,46])
        upper_hsv = np.array([77,77,255])
        mask = cv.inRange(hsv, lowerb=lower_hsv, upperb=upper_hsv)
        cv.imshow("video",frame)
        cv.imshow("mask",mask)
        c = cv.waitKey(40)
        if c==27:
            break
 extrace_object_demo()
 cv.waitKey(0)

 cv.destroyAllWindows()

然后显示结果为
在这里插入图片描述
大家可以清晰的看到,他手中的白色光盘。

我解释一下这里的
lower_hsv = np.array([37,43,46])
upper_hsv = np.array([77,77,255])

在这里插入图片描述
这就是色彩空间转换api,只要找到对应的颜色,申请两个数组,一个放最大值,一个放最小值,然后将对应的数字写入数组,便可以实现色彩转换。色彩转换是opencv很常见的一个重要工具。具体的会在接下来的文章中做出解释。

2.通道分离与合并

上篇博客讲到,图片的属性有三个,其中之一就是通道,而每个像素点有3个通道,我们的通道分离与合并就是从这样。

b,g,r = i=cv.split(src)
cv.imshow("bule",b)
cv.imshow("green",g)
cv.imshow("red",r)

上面的代码是通道分离在这里插入图片描述

src = cv.merge([b,g,r])#对所有通道进行合成

在这里插入图片描述
这就是合成结果,当然,我们也可以对三个通道中的一个通道进行更改,看看得出来的图像什么样子吧!

在这里插入图片描述
这是我们将red的通道值改为了0,所得到的图片

src[:,:,2] = 0

当然也可以对其他的通道值进行更改,这里就不做过多解释!

3.总结

这次总结的opencv知识是偏向于实践的,所以大家可以下去自己尝试一下,然后会有一个更深的了解。接下来我会继续对opencv这里的知识点做总结的,到最后还有一个实战案例,敬请期待!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值