草庐IT

opencv_traincascade

全部标签

OpenCV级联分类器识别车辆实践笔记

1.OpenCV级联分类器的基本原理基于Haar特征的级联分类器的目标检测是PaulViola和MichaelJones在2001年的论文中提出的一种有效的目标检测方法。这是一种基于机器学习的方法,从大量的正面和负面图像中训练级联函数。然后用它来检测其他图像中的物体。Haar特征是一种反映图像的灰度变化的,像素分模块求差值的一种特征。它分为三类:边缘特征、线性特征、中心特征和对角线特征。就像卷积核一样。每个特征都是一个单独的值,由黑色矩形下的像素和减去白色矩形下的像素和得到。用黑白两种矩形框组合成特征模板,在特征模板内用黑色矩形像素和减去白色矩形像素和来表示这个模版的特征值。例如:脸部的一些特

OpenCV+OpenCvSharp实现图片特征向量提取与相似度计算

图片特征向量是一种用于描述图片内容的数学表示,它可以反映图片的颜色、纹理、形状等信息。图片特征向量可以用于做很多事情,比如图片检索、分类、识别等。本文将介绍图片特征向量的提取以及相似度的计算,并使用C#来实现它们。文章开始前,我们先来简单了解一下OpenCV和OpenCvSharp4,这两个库是本文的核心。什么是OpenCVOpenCV(OpenSourceComputerVisionLibrary)是一个基于开源发行的跨平台计算机视觉和机器学习软件库,它支持多种编程语言,包含了数百种图像处理和计算机视觉算法。什么是OpenCvSharp4OpenCvSharp4是一个基于OpenCV开发的跨

自学SLAM(6)相机与图像实践:OpenCV处理图像与图像拼接(点云)

前言如果写过SLAM14讲第一次的作业,或者看过我之前的运行ORB_SLAM2教程应该都安装过OpenCV了,如果没有安装,没关系,可以看我之前的博客,里面有如何安装OpenCV。链接:运行ORB-SLAM2(含OpenCV的安装)文章目录前言1.OpenCV的图像操作2.使用OpenCV进行RGB-D图像拼接(点云)1.OpenCV的图像操作让我们先来看一段代码,学习一下OpenCV的函数调用。改代码中,演示了如下几个操作:图像读取,显示,像素遍历,复制,赋值等。大部分的注解已经写在代码中。编译该程序时,需要在CMakeLists.txt中添加OpenCV的头文件,然后将程序链接到库文件上。

[opencv]中一些函数的用法

1.cv2.bitwise_and()cv2.bitwise_and()是OpenCV中的位运算函数之一,用于对两幅二值图像进行按位“与”操作。具体来说,对于每个像素,将两幅输入图像相应位置的像素值分别进行按位“与”运算,输出的结果图像的对应像素值即为这两幅输入图像对应像素值的按位与结果。cv2.bitwise_and()函数的语法如下:dst=cv2.bitwise_and(src1,src2[,mask])其中,src1和src2表示要进行按位“与”操作的两幅输入图像;mask是可选参数,如果指定了掩膜,则只对掩膜对应位置的像素进行按位“与”操作。函数的返回值dst表示按位“与”运算的结果

【OpenCV】no opencv_java*** in java.library.path 和 java.lang.UnsatisfiedLinkError: org.opencv.videoio.

目录目录1.报错信息 noopencv_java***injava.library.path1.1.解决方法 noopencv_java***injava.library.path2.报错信息 java.lang.UnsatisfiedLinkError:org.opencv.videoio.VideoCapture.VideoCapture_4(I)J2.1.解决方法 java.lang.UnsatisfiedLinkError:org.opencv.videoio.VideoCapture.VideoCapture_4(I)J1.报错信息 noopencv_java***injava.li

在ubuntu18.04上编译C++版本jsoncpp/opencv/onnxruntime且如何配置CMakelist把他们用起来~

这篇文章背景是笔者在ubuntu上编译C++代码,依赖一些包,然后需要编译并配置到CMakelist做的笔记。主要也是一直不太懂CMakellist,做个笔记以防忘记,也给读者提供一站式的参考,可能您需要的不是这几个包,但大同小异,再带上cmakelist加持,最后提供可视化远程调试教程,可以把C++玩的飞起。这篇文章将有以下内容:安装编译一系列工具;编译opencv;编译jsoncpp;编译onnxruntime;如何在CMakelist中配置;Clion远程调试服务器的C++代码;文章目录一、安装编译一系列工具1.1安装g++、gcc1.2安装cmake1.2.1官网下载cmake包1.2

【OpenCV实现鼠标绘图,轨迹栏做调色板,图像的基本操作】

文章目录鼠标绘图轨迹栏做调色板图像的基本操作鼠标绘图在OpenCV中操作鼠标事件函数:cv.setMouseCallback()目的是在鼠标双击的地方画一个圆。首先,我们需要创建一个鼠标回调函数,该函数会在鼠标事件发生时执行。鼠标事件包括左键按下、左键松开、左键双击等等。通过获取每个鼠标事件的坐标(x,y),我们就能实现画圆的功能。importnumpyasnpimportcv2ascv#创建一个黑色图像img=np.zeros((512,512,3),np.uint8)#鼠标回调函数,当鼠标左键双击时,在双击的位置画一个半径为100的蓝色圆defdraw_circle(event,x,y,f

Opencv中goodFeaturesToTrack函数(Harris角点、Shi-Tomasi角点检测)算子速度的进一步优化(1920*1080测试图11ms处理完成)。

  搜索到某个效果很好的视频去燥的算法,感觉效果比较牛逼,就是速度比较慢,如果能做到实时,那还是很有实用价值的。于是盲目的选择了这个课题,遇到的第一个函数就是角点检测,大概六七年用过C#实现过Harris角点以及SUSAN角点。因此相关的理论还是有所了解的,不过那个时候重点在于实现,对于效率没有过多的考虑。  那个代码里使用的Opencv的函数叫 goodFeaturesToTrack,一开始我还以为是个用户自定义的函数呢,在代码里就根本没找到,后面一搜原来是CV自带的函数,其整个的调用为:      goodFeaturesToTrack(img0Gray,featurePtSet0,100

python的opencv操作记录(十)——图像融合

文章目录前言opencv中的一个方法泊松融合图像梯度图像散度融合图像散度通过散度场进行图像重建泊松融合的一般逻辑前言最近碰到一个项目上的难题,是要从电动显微镜对焦的多张图像进行融合。因为,显微镜物镜的景深范围较小,可能在同一视野中有多个需要拍摄的物体位于不同的景深范围内,所以想通过图像的融合,将不同景深上的多张图像进行融合,从而把这些物体都在同一张图像中对用户进行展示。opencv中的一个方法在opencv中,提供了一个图像融合函数seamlessClone,可以直接进行图像融合。dst=cv2.imread("/Users/zoulei/files/personal/images/bg.jp

OpenCV中的模板匹配

OpenCV中的模板匹配模板匹配是一项常见的计算机视觉任务,其目的是从输入图像中找到与给定模板最相似的部分。在OpenCV中,我们可以使用模板匹配算法来识别某个图案或对象在另一个图像中的位置。本文将介绍如何使用OpenCV进行模板匹配,并提供相应的源代码。1.读取图像和模板想要进行模板匹配,我们首先需要准备一张待匹配的图像和一个模板图像。在OpenCV中,我们可以使用cv2.imread()方法读取图像文件。importcv2importnumpyasnp#读取图像和模板img=cv2.imread('test_image.jpg',0)template=cv2.imread('templat