文章来源: https://mangoroom.cn/opencv/opencv-learning-waitKey.html 序 waitKey函数属于opencv函数里既常用又非常基础的函数,无论是刚开始学习opencv,还是使用opencv进行开发调试,都可以看到waitKey函数的身影.然而最基础的东西可能往往容易忽略掉,在此可以好好了解一遍这个基础又常用的waitKey函数. waitKey函数原型 翻阅opencv的官方文档,可以查阅到该函数的原型为 int cv::waitKey (…
2.7.1调用事件和函数 完整语法:[ObjectName]ancestorclass::[type][when]name([argumnetlist]) 说明:ObjectName:指定函数或事件的对象名 ancestorclass:指定函数或事件的祖先类名 type:1 EVENT(调用事件类型),2FUNCTION(调用函数类型) when: 1 TRIGGER(立即触发事件或函数) 2 POST(异步触发事件或函数) name:事件或函数的名称 argumnetlist:传给事件或函数的…
凸缺陷,以及如何找到凸缺陷 找某一点到一个多边形的最短距离 不同形状的匹配 1.凸缺陷 前面已经设计了轮廓的凸包和凸性缺陷的概念.OpenCV中有一个函数cv2.convexityDefect()可以帮助我们找到凸缺陷: hull = cv2.convexHull(cnt,returnPoints=False)#这里必须是False defect = cv2.convexityDefects(cnt,hull) 它会返回一个数组,每一行的值为[起点,终点,最远的点,到最远点的近似距离].我们可以…
原创文章,欢迎转载,转载请注明出处 本节主要了解下cvSmooth函数的一些参数对结果的影响.从opencv tutorial中可以看到这样一段话: 像我这样的数学渣,还是看下图来得形象: 高斯滤波器的说明如下: 反正看得我晕,我只知道一点,高斯滤波对于去除服从正态分布的噪声很有效.看来学好数学还是很重要...还有英语....英语渣一个.. 平滑方法使用 CV_GAUSSIAN,平滑窗口一次为3*3,5*5,9*9和11*11.下面直接看效果.1:原图 2:核为3*3 3:核为5*5 4:9*9…
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tree/master/OpenCVTest 效果 代码 我是直接使用OpenCV自带的分类器.如果有数据,可以自己训练得到. opencv之级联分类器训练属于自己的xml文件 opencv3.3版本训练自己的物体分类器 #include <opencv2/core.hpp> #include <…
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tree/master/OpenCVTest. 效果 代码 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>…
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tree/master/OpenCVTest 效果 代码 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>…
本实例使用简单的线性叠加方法来实现两幅图像的叠加,主要使用的知识如下: 1)线性融合 2)addWeighted函数 //! computes weighted sum of two arrays (dst = alpha*src1 + beta*src2 + gamma) CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputA…
在处理文件前需要引入OpenCV库,同时也引入unmpy库 import cv2 import numpy as np 1 基本的读写操作 1.1 图像文件的读写操作 1.1.1 图像文件的读取操作 opencv 的 imread() 函数和 imwrite() 函数支持各种静态图像文件格式.例如bmp, png, jpeg, tiff等. cv2.imread(filename[, flags]) imread() 函数从文件中加载并返回该图像,若指定图像不能被读取(文件丢失.权限不正确.不支…
本实例演示简单地改变图像的对比度和亮度,使用了如下线性变换来实现像素值的遍历操作: The parameters α > 0 and β often called the gain and bias parameters; sometimes these parameters are said to control contrast and brightness respectively. 代码如下: // 改变图像的对比度和亮度 #include <opencv2/opencv.hpp>…