​ 0.序言 之前的博客里我们介绍了opencv在图像上的基本操作,下面我们来进行稍微深入一点的介绍,从这里开始我们可以发现opencv库能给我们带来的更多更有趣的功能.从现在开始,我们将逐步深入了解opencv库中对图像处理的一些高级方式. 在这篇博客中,我们将学习如何将图像在色彩空间之间的转换,例如BGR转换成灰色,BGR转换成HSV等 此外,我们还将创建一个应用程序,以提取视频中的彩色对象 我们还将学习以下功能:cv.cvtColor,**cv.inRange**等 1.改变颜色空间 Op…
0.序言 这一篇博客我们将学习图像的几种算术运算,例如加法,减法,按位运算等. 1.图像加法 我们可以通过OpenCV函数 cv.add() 或仅通过numpy操作 res=img1+img2 res = img1 + img2 将两个图像加起来.两个图像应具有相同的深度和类型,或者第二个图像可以只是一个标量值. 注意:OpenCV加法和Numpy加法之间有区别.OpenCV加法是饱和运算,而Numpy加法是模运算. 例如,考虑以下示例: >>> x = np.uint8([250])…
一.鼠标事件的简单演示 opencv中的鼠标事件,值得是任何与鼠标相关的任何事物,例如左键按下,左键按下,左键双击等.我们先来看看鼠标事件有哪些,在python中执行下面代码: import cv2 as cv events=[i for i in dir(cv) if 'EVENT' in i] print(events) 输出结果: ['EVENT_FLAG_ALTKEY', 'EVENT_FLAG_CTRLKEY', 'EVENT_FLAG_LBUTTON', 'EVENT_FLAG_MB…
一.绘制简单的几何形状和添加文本 opencv中绘制图形很简单,我们只需要使用下面这些常用函数即可. #画线 cv2.line() #画圆 cv2.circle() #画矩形 cv. rectangle() #画椭圆 cv.ellipse() #向图像添加文本 cv.putText() 在上述所有功能中,我们可以看到一些常见的参数,如下所示: img:我们要绘制形状的图像 color:形状的颜色.对于BGR,将其作为元组传递,例如:(255,0,0)就是蓝色.灰度图的话,我们只需要传递标量值即可…
一.从相机读取视频 通常情况下,我们必须用摄像机捕捉实时画面.让我们从摄像头捕捉一段视频(我使用的是我笔记本电脑内置的网络摄像头) ,将其转换成灰度视频并显示出来.        要捕获视频,我们需要创建一个 VideoCapture 对象.它的参数可以是设备索引或视频文件的名称.设备索引就是指定哪个摄像头的数字.我们可以通过传递1来选择第二个相机,以此类推.在此之后,我们需要通过逐帧捕获将视频保存为画面.但是在最后,不要忘记释放被捕获的俘虏.下面代码就可以实现从相机中读取视频的操作. impo…
序言 笔者最近做了两个CV领域的项目,因为数据量不足所以主要使用的是传统的CV方法.这时候不得不夸一句opencv库,让复杂的算法原理变得如此简单(调包调参侠表示很骄傲).所以闲暇下来对opencv的方法进行整理,一是巩固之前学到的知识,二是希望和广大朋友们分享.话不多言,咱们开始~ 一.图像读取 使用 OpenCV读取图像比较简单,可以使用此函数读取图像. cv2.imread() 图像应该在工作目录或图像的完整路径给出.我们需要给它传递两个参数,第二个参数是一个标志,它指定了读取图像的方式.…
0.序言 每个图像是由一个个点组成的,而这些点可以表示为像素值的形式. 这篇博客里我们将学会: 访问像素值并修改它们 . 访问图像属性 . 设置感兴趣区域(ROI) . 分割和合并图像. 对于图像的基本操作我们需要对numpy知识的了解,不需要很多,只知道基本用法即可.这里暂不赘述,读者可查阅其余资料进行学习. 1.访问和修改像素值 让我们先加载彩色图像: import numpy as np import cv2 as cv img = cv.imread('cat.jpg') 我们可以通过行…
[Go语言入门系列]前面的文章: [Go语言入门系列](四)之map的使用 [Go语言入门系列](五)之指针和结构体的使用 [Go语言入门系列](六)之再探函数 本文介绍Go语言的方法的使用. 1. 声明 如果你用过面向对象的语言,比如Java,那你肯定对类.对象.成员变量.方法等很熟悉. 简单地来说,类是对一类事物的抽象,成员变量是该事物的属性,方法是该事物具有的行为,对象则是该事物所对应的具体个体. 比如说,狗(类),名字(属性),叫(方法),哮天犬(对象). 但是Go语言中并没有类,自然也…
https://blog.csdn.net/huobanjishijian/article/details/63685503 前面我们已经学了一些OpenCV中基本的图片处理的知识,可以拿来做一些小应用.比如怎样从一张图片中,把文字圈出来.这一步骤对OCR(Optical Character Recognition)非常有用,因为一般的OCR引擎只是拿来识别文字,并没有对图片做预处理,因此精度可能会收到图片质量影响. 当然,我们这里只是粗略的查找文字区域,并没有进一步地处理图片.而且对背景复杂,…
前言 本篇详细介绍canvas画布的API.说是详细介绍,也只是一些常用的API及简单实例和说明.LZ本人也还没有看完全部,下篇会介绍剩余的一些内容. 本篇的示例中,LZ加入了注释,为的是只简单介绍API确实挺无聊,也不那么容易理解,看代码看效果才最直接. canvas APIs canvas 基础api 介绍 在初始化Javascript函数中,用canvas标签的id获得canvas的DOM对象,并用getContext() 方法获得这个canvas的“2d”上下文对象,之后使用上下文对象调…