opencv函数之cv.InRange函数

2018-03-0421:22:46

(1)cv.InRange函数

void cvInRange(//提取图像中在阈值中间的部分  const CvArr* src,//目标图像const CvArr* lower,//阈值下限  const CvArr* upper,//阈值上限  CvArr* dst//结果图像  )

历程:# 取出摄像头中,绿色的区域

import cv2 as cv
import numpy as np

def video_demo():
    capture = cv.VideoCapture(0)
    while(True):
        #  打开摄像头
        ret,frame = capture.read()
        if ret == False:
            break
        #  转换为hsv图像
        hsv = cv.cvtColor(frame,cv.COLOR_BGR2HSV)
        #  下阈值
        lower_hsv = np.array([37,43,46])
        #  上阈值
        upper_hsv = np.array([77,255,255])
        mask = cv.inRange(hsv,lowerb=lower_hsv,upperb = upper_hsv)
        #  cv.inRange(目标图像,阈值下,阈值上,输出图像)
        cv.imshow ("video",frame)
        cv.imshow ( "mask",mask)
        c = cv.waitKey (50)
        if c == 27:  # 相当于人为退出
            break

video_demo()

原文地址:https://www.cnblogs.com/pengwenzheng/p/8506254.html

时间: 2024-11-06 09:38:00

opencv函数之cv.InRange函数的相关文章

opencv cv.findContours 函数详解 图像轮廓层级 图像轮廓检索方式详解

函数 cv.findContours contours, hierarchy = cv.findContours( image, mode, method[, contours[, hierarchy[, offset]]] ) 参数1:源图像 参数2:轮廓的检索方式,这篇文章主要讲解这个参数 参数3:一般用 cv.CHAIN_APPROX_SIMPLE,就表示用尽可能少的像素点表示轮廓 contours:图像轮廓坐标,是一个链表 hierarchy:[Next, Previous, First

opencv 利用cv.matchShapes()函数实现图像识别技术

在待识别图像上找到模板图像 待识别图像: 模板图像: 识别原理 1. 将待识别图像 -> 灰度图像 -> 二值图像 2. 通过轮廓检索函数 cv.findContours 找到待识别图像所有轮廓 3. 模板图像 -> 灰度图像 -> 二值图像 4. 通过轮廓检索函数 cv.findContours 找到模板图像中字母 A 的外轮廓 5. 将第2步得到的轮廓逐一和第4步得到的轮廓 通过 cv.matchShapes 函数进行形状匹配.找到其中最小值,最小值对应的待识别图像中的轮廓即为

opencv 多边形近似物体形状 cv.approxPolyDP函数的应用

前面我们学习过最小外接矩和最小外接圆,那么可以用一个最小的多边形包围物体吗?当然可以: 其中 cv.approxPolyDP() 的参数1是源图像的某个轮廓:参数2(epsilon)是一个距离值,表示多边形的轮廓接近实际轮廓的程度,值越小,越精确:参数3表示是否闭合. import cv2 as cv import numpy as np # 多边形逼近 # 1.先找到轮廓 img = cv.imread('unregular.jpg', 0) _, thresh = cv.threshold(

OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(1)

(一)本节教程的目的 本节你将学到: 1--如何使用Point在图像中定义2D点 2--如何以及为何使用Scalar 3--用OpenCv的函数Line绘直线 4--用OpenCvd的函数ellipse绘制椭圆 5--用OpenCv的函数rectangle绘矩形 6--用OpenCv的函数circle绘圆 7--用OpenCv的函数fillPoly绘填充多边形 (二)原理,本节我们将大量使用Point和Scalar这两个结构: **********************************

opencv学习笔记之cvSobel 函数解析

首先,我们来开一下计算机是如何检测边缘的.以灰度图像为例,它的理论基础是这样的,如果出现一个边缘,那么图像的灰度就会有一定的变化,为了方便假设由黑渐变为白代表一个边界,那么对其灰度分析,在边缘的灰度函数就是一个一次函数y=kx,对其求一阶导数就是其斜率k,就是说边缘的一阶导数是一个常数,而由于非边缘的一阶导数为零,这样通过求一阶导数就能初步判断图像的边缘了.通常是X方向和Y方向的导数,也就是梯度.理论上计算机就是通过这种方式来获得图像的边缘. 但是,具体应用到图像中你会发现这个导数是求不了的,因

opencv中测量运行时间的函数

最开始的C接口中的是 cvGetTickCount()和 cvGetTickFrequency(),在程序段的开始和结束时两次使用cvGetTickCount(),然后将两次的差除以cvGetTickFrequency()后就可以获得程序段的以微秒us为单位的运行时间,不是很精确但是一般足够了. 到了2.x之后在命名空间cv中又多了几个函数,getTickCount(),getTickFrequency(),getCPUTickCount(),此时仍然可以使用上面的C接口的函数,也可以使用这几个

day05匿名函数,内置函数,二分法,递归,模块

yield作为表达式来使用的方式 #grep -rl 'python /root """ 查找root下文件中含有python的文件 """ import os def init(func): def wrapper(*args,**kwargs): g=func(*args,**kwargs) next(g) return g return wrapper @init def search(target): while True: search

函数的上下文就是函数里面的this是谁

规律1:函数用圆括号调用,函数的上下文是window对象 比如小题目: function fun(){ var a = 888; alert(this.a); //实际上访问的是window.a } var a = 666; fun(); //弹出666 函数function fun(){}的上下文是什么!不要看它怎么定义,要看它怎么调用!!此时是fun()函数名加上圆括号直接调用,此时上下文就是window对象! 而我们知道:所有的全局变量都是window对象的属性,(注意:函数里面的局部变量

深入浅出剖析C语言函数指针与回调函数(二)

上一篇博文的地址: http://blog.csdn.net/morixinguan/article/details/65494239 这节,我们来看看函数指针与回调函数在Linux内核中的应用. 从上节我们了解到,函数指针和回调函数在开发者和用户之间的一个例子,那么这节,我将引用Linux内核中文件操作结构体来详细的说明. 我们首先来看到这个结构体,这段代码位于linux内核的include/linux/fs.h中,由于代码众多,我只截取几个最基本的例子: File_operations文件操