OpenCV
文章平均质量分 89
计算机视觉
姚巨龙
我是昆图库塔卡提考特苏瓦西拉
展开
-
【OpenCV(C++)】模板匹配
【OpenCV(C++)】模板匹配模板匹配的概念与原理实现模板匹配:MatchTemplate()函数程序:模板匹配模板匹配的概念与原理模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。在OpenCV中,模板匹配由MatchTemplate()函数完成。模板匹配不是基于直方图的 (关于图像直方图,如果有时间会进行专门的介绍) ,而是通过在输入图像上滑动图像块,对实际的图像......原创 2020-01-29 14:25:02 · 4906 阅读 · 0 评论 -
【OpenCV(C++)】分水岭算法
【OpenCV(C++)】分水岭算法分水岭算法概述实现分水岭算法:watershed()函数程序:分水岭算法分水岭算法概述在许多实际运用中,我们需要分割图像,但无法从背景图像中获得有用信息。分水岭算法(watershed algorithm)在这方面往往是非常有效的。此算法可以将图像中的边缘转化为“山脉”,将均匀区域转化为“山谷”,这样有助于分割目标。该算法是一种基于拓扑理论的数学形态学的分......原创 2020-01-29 13:45:50 · 3371 阅读 · 0 评论 -
【OpenCV(C++)】图像的矩
【OpenCV(C++)】图像的矩矩的计算: moment()函数计算轮廓面积: contourArea()函数计算轮廓长度:arcLength()函数程序:查找和绘制图像轮廓矩矩函数在图像分析中有广泛的应用,如模式识别、目标分类、目标识别与方位估计、图像编码与重构等。一个从一幅数字图形中计算出来的矩集,通常描述了该图像形状的全局特征,并提供了大量的关于该图像不同类型的几何特性信息,比如大小、位......原创 2020-01-29 12:56:53 · 666 阅读 · 0 评论 -
【OpenCV(C++)】寻找物体的凸包
【OpenCV(C++)】寻找物体的凸包原创 2020-01-28 16:12:29 · 1429 阅读 · 0 评论 -
【OpenCV(C++)】查找并绘制图像轮廓
【OpenCV(C++)】查找并绘制图像轮廓寻找轮廓:findContours()函数绘制轮廓:drawContours()函数基础轮廓查找查找并绘制轮廓一个轮廓一般对应一系列点,也就是图像中的一条曲线。其表示方法可能根据不同的情况而有所不同。寻找轮廓:findContours()函数findContours()函数用于在二值函数中寻找轮廓。void findContours(Input......原创 2020-01-27 16:02:38 · 8250 阅读 · 0 评论 -
【OpenCV(C++)】图像变换:霍夫变换
【OpenCV(C++)】图像变换:霍夫变换霍夫变换概述霍夫线变换标准霍夫变换:HoughLines()函数累计概率霍夫变换:HoughLinesP()函数霍夫圆变换霍夫圆变换:HoughCircles()函数在图像处理与计算机视觉领域中,如何从当前的图像中提取所需要的特征信息是图像识别的关键所在。在许多应用场合中需要快速准确地检测出直线或者圆。其中一种非常有效的解决问题的方法是霍夫变换,其为图......原创 2020-01-27 15:18:57 · 5887 阅读 · 2 评论 -
【OpenCV(C++)】图像变换:边缘检测
【OpenCV(C++)】图像变换原创 2020-01-27 13:51:10 · 9614 阅读 · 0 评论 -
【OpenCV(C++)】图像处理:阈值化
【OpenCV(C++)】图像处理:阈值化阈值化固定阈值操作:Threshold()函数自适应阈值操作:adaptiveThreshold()函数基本阈值操作程序阈值化在对各种图形进行处理操作的过程中,我们常常需要对图像中的像素做出取舍决策,直接剔除一些低于或高于一定值的像素。阈值可以被视作最简单的图像分割方法。从一幅图像中利用阈值分割出我们需要的物体部分的方法是基于图像中物体与背景之间的灰......原创 2020-01-27 11:45:47 · 1533 阅读 · 0 评论 -
【OpenCV(C++)】图像处理:漫水填充
【OpenCV(C++)】图像处理:漫水填充漫水填充的定义漫水填充的基本思想floodFill函数实现漫水填充算法漫水填充的定义漫水填充法是一种用特定的颜色填充连通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。漫水填充经常被用来标记或分离图像的一部分,以便对其进行进一步处理或分析,也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或只处理掩码指定的像素点,操作的结......原创 2020-01-27 11:45:21 · 1190 阅读 · 0 评论 -
【OpenCV(C++)】图像处理:形态学滤波
【OpenCV(C++)】图像处理:形态学滤波形态学(morphology)膨胀与腐蚀膨胀腐蚀其它形态学滤波开运算(Opening Operation)闭运算(Closing Operation)形态学梯度(Morphological Gradient)顶帽(Top Hat)黑帽(Black Hat)element形态学(morphology)图像处理中的形态学指的是数学形态学(Mathmat......原创 2020-01-26 17:27:13 · 2268 阅读 · 1 评论 -
【OpenCV(C++)】图像处理:非线性滤波
【OpenCV(C++)】图像处理:非线性滤波非线性滤波中值滤波(Median filter)双边滤波(Bilateral filter)非线性滤波在上一篇文章中所讨论的滤波器都是线性的,即两个信号之间的响应和它们各自响应之和相等,每个像素的输出值是一些输入像素的加权和。在很多情况下,使用邻域像素的非线性滤波会得到更好的效果。中值滤波(Median filter)其基本思想是用像素点邻域......原创 2020-01-26 15:49:15 · 572 阅读 · 0 评论 -
【OpenCV(C++)】图像处理:线性滤波
【OpenCV(C++)】图像处理:线性滤波平滑处理图像滤波线性滤波操作方框滤波(box Filter)均值滤波(blur)高斯滤波(GaussianBlur)平滑处理平滑处理(smoothing)也称模糊处理(bluring),是一种简单且使用频率高的图像处理方法,常用来减少图像上的噪点或者失真。图像滤波图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制。消除图像中的噪......原创 2020-01-26 15:03:39 · 819 阅读 · 0 评论 -
【OpenCV(C++)】图像对比度、亮度值调整
【OpenCV(C++)】对比度、亮度值调整理论依据程序示例理论依据我们基于点操作,对图像进行处理变换。点操作的特点是:仅仅根据输入像素值或加上某些全局信息和参数,来计算相应的输出像素值。程序示例任务:调用本身电脑自带的摄像头得到图像,遍历图像所有像素点,使用滑动条对图像亮度,对比度进行调整,并添加一张灰度图片到原图像中的R通道中。#include <opencv2/opencv......原创 2020-01-26 14:20:28 · 2783 阅读 · 0 评论 -
【OpenCV(C++)】分离颜色通道、多通道图像混合
【OpenCV(C++)】分离颜色通道、多通道图像混合原创 2020-01-26 13:05:15 · 1205 阅读 · 0 评论 -
【OpenCV(C++)】ROI区域图像叠加 & 图像混合
【OpenCV(C++)】ROI区域图像叠加 & 图像混合感兴趣区域:ROI线性混合操作计算数组加权和:addWeighted()函数感兴趣区域:ROI在图像处理领域,常常需要设置感兴趣区域(region of interest)来专注或者简化工作过程。即从图像中圈定一个区域,以便进行进一步处理。使用ROI指定想读入的目标,可以减少处理时间,增加精度。定义ROI区域的方法:Rec......原创 2020-01-25 16:32:09 · 2759 阅读 · 3 评论 -
【OpenCV(C++)】访问图像中的像素
【OpenCV(C++)】基本图形的绘制DrawEllipse()函数DrawEllipse()函数原创 2020-01-25 15:14:28 · 5444 阅读 · 0 评论 -
【OpenCV(C++)】常用数据结构和函数
【OpenCV(C++)】常用数据结构和函数点的表示:Point类颜色的表示: Scalar类点的表示:Point类#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>using namespace std;using na......原创 2020-01-24 11:01:10 · 1785 阅读 · 0 评论 -
【OpenCV(C++)】基础图像容器Mat
【OpenCV(C++)】基础图像容器Mat数字图像存储Mat结构的使用像素值的存储方法颜色空间数据类型显示创建Mat对象的七种办法1.使用Mat()构造函数2.在C/C++中构造函数进行初始化3.为已存在的IplImage指针创建信息头4.利用Create()函数5.采用MATLAB式的初始化方法6.小矩阵采用逗号分隔开初始化7.为已存在的数据创建新的数据头数字图像存储通常由显示屏上看到的都......原创 2020-01-23 19:15:51 · 579 阅读 · 0 评论 -
【OpenCV(C++)】滑动条的创建
【OpenCV与C++】滑动条的创建创建滑动条:createTrackbar()函数透明度调节&线性混合获取当前轨迹条位置:getTrackbarPos () 函数鼠标操作:SetMouseCallback()函数滑动条(Trackbar)是OpenCV动态调节参数特别好用的一种工具,它依附于窗口存在。创建滑动条:createTrackbar()函数createTrackbar函数用......原创 2020-01-23 16:45:46 · 1643 阅读 · 0 评论 -
OpenCV视频基本操作
OpenCV视频基本操作读取并播放视频调用摄像头并采集图像调用摄像头边缘检测并高斯模糊后的摄像头采集视频利用OpenCV中的VideoCapture类,可以对视频进行读取显示,以及调用摄像头。读取并播放视频#include<opencv2/opencv.hpp>using namespace cv;int main(){ VideoCapture capture("lj......原创 2020-01-21 16:25:28 · 328 阅读 · 0 评论 -
快速上手OpenCV图像处理
快速上手OpenCV图像处理图像显示图像腐蚀图像模糊Canny边缘检测在写作之时,笔者已经接触OpenCV大概三个月了,从刚开始配置环境的“艰辛”,到能用OpenCV完成一些视觉类的小工程,这一路上遇到了不少坑,也是很后悔在学习之初没想过把这些坑记录下来。面对新项目时,仍深觉自己的思路非常局限,所以借着寒假时间较为充裕,带着我对OpenCV的爱,重新上路。快速上手OpenCV,可以从几个简单的......原创 2020-01-21 16:12:51 · 423 阅读 · 0 评论