
c++与opencv做图像处理
文章平均质量分 84
xiao__run
专注自动驾驶视觉感知,深度学习算法,传统图像算法以及多传感器标定,多传感器融合方向
展开
-
道路病害检测识别
道路病害检测项目方案一、项目背景和意义1.1项目背景截止至 2021年底,全国公路总里程达到519.8万公里,总道路通车里程稳居世界第一。公路建设的迅猛发展不仅让人们的出行变得更加便捷,也在一定程度上促进了我国经济的发展。随着公路里程数的不断增加以及其使用时间的增长,使得路面的保养维护工作变得尤为重要,完善的路面养护系统能够延长路面的使用寿命,保障人们安全日常出行。路面病害是衡量路面质量的一个重要指标,在公路建成投入使用后,因车辆荷载及环境的影响,路面会出现各种各样的病害现象,这些病害.原创 2022-05-23 16:31:18 · 2270 阅读 · 4 评论 -
摄像头与激光雷达微波雷达的融合算法之二标定
多激光雷达与摄像头的融合算法(二)原创 2020-09-29 16:22:02 · 3888 阅读 · 10 评论 -
yolov5+deepsort多目标追踪,人数以及车辆统计
软件库:pytorch + numpy+opencv硬件 1080ti描述:速度: 只运行 yolov5 检测, 速率大概为 75 fps, 添加 deep_sort 多目标追踪后, 速率大概为35 fps (显卡 GTX1080Ti.)添加了每一类目标计数的功能https://github.com/xiaorun2345/yolov5-deepsort...原创 2020-07-21 18:11:11 · 33288 阅读 · 58 评论 -
pytorch对植物病虫害迁移学习分类
一、 项目描述针对在大规模农业种植中传统人工农作物病虫害预防和治理上存在的问题同,应用深度学习算法来进行农作物病虫害的检测,对农作物荧光图片进行病害识别检测,包含多个农作物物种。采用目前流行的深度网络结构,如深度神经网络图像进行特征抽取,采用交叉熵和正则化项组成损失函数进行反向传播调整,对数据集进行不同情况的划分;并且使用迁移训练训练方式,最终达到根据摄像头采集的荧光照片能够分析出该植物可能有的病症。二、 识别系统设计如下图所示:三 实验步骤实验采用python编程语言,版本为3.7,以及深度原创 2020-08-27 19:47:32 · 2673 阅读 · 5 评论 -
hog+svm 实现行人检测(C++ opencv3.4)
最近想学下传统机器学习方法来实现目标检测,从头到尾下来记录下自己的代码过程行人检测加粗样式数据集准备:INRIA行人检测数据集百度云下载,http://pan.baidu.com/s/1eSdlw7g下载完之后我们解压可以看到数据集文件分布INRIADATA{**加粗样式** normalized_images{ train{ pos:96x1...原创 2018-09-29 20:18:57 · 6664 阅读 · 9 评论 -
C++ opencv车道线识别
先上图再干活 1、 2、 (一)目前国内外广泛使用的车道线检测方法主要分为两大类: (1) 基于道路特征的车道线检测; (2) 基于道路模型的车道线检测。 基于道路特征的车道线检测作为主流检测方法之一,主要是利用车道线与道路环境的物理特征差异进行后续图像的分割与处理,从而突出车道线特征,以实现车道线的检测。该方法复杂度较低,实时性较高,但容易受到道路环境干扰。 基于道路模...原创 2018-09-17 17:42:45 · 23303 阅读 · 46 评论 -
C++图像处理学习(二)之图像增强——五大灰度变换
感谢博客,转自 https://blog.youkuaiyun.com/qq_34784753/article/details/61920138 1.灰度线性变换图像的灰度线性变换是图像灰度变换的一种,图像的灰度变换通过建立灰度映射来调整源图像的灰度,从而达到图像增强的目的。灰度映射通常是用灰度变换曲线来进行表示。通常来说,它是将图像的像素值通过指定的线性函数进行变换,以此来增强或者来减弱图像的灰度,...转载 2018-09-08 23:42:38 · 11570 阅读 · 1 评论 -
Umat Mat 相互转换(apexcv学习心得一)
今天初次接触关于恩智浦的芯片,发现里面涉及opexcv部分知识,头疼不已,现将学习的记录下吧 1、读入图片 我们通过opencv读入图片,然后转换成opexcv数据类型Vsdk Umatvsdk::UMat image = cv::imread("in_color_256x256.png", CV_LOAD_IMAGE_COLOR).getUMat(cv::ACCESS_RW);// ...原创 2018-08-07 16:44:47 · 12829 阅读 · 4 评论 -
python-opencv 目标追踪,多目标追踪(需要opencv扩展模块,C++,python)
提起目标跟踪,大家可能会想起的就是camshift,但是camshift跟踪往往达不到我们的跟踪要求,包括稳定性和准确性。opencv3.1版本发行后,集成了多个跟踪算法,但需要扩展模块,即tracker,大部分都是近年VOT竞赛榜上有名的算法,虽然仍有缺陷存在,但效果还不错。 下面我提供C++ 版本和python版本,大家自行测试#include <opencv2/opencv....原创 2018-07-17 16:46:17 · 18007 阅读 · 16 评论 -
opencv表情识别,性别识别,人脸、视频、检测、识别的智能AI项目
各位,对代码有疑问得可加群讨论193369905,小编承接各种AI小项目开发 **功能人脸检测、识别(图片、视频)轮廓标识头像合成(给人戴帽子)数字化妆(画口红、眉毛、眼睛等)性别识别表情识别(生气、厌恶、恐惧、开心、难过、惊喜、平静等七种情绪)视频对象提取眼动追踪(待完善)换脸(待实现)**Linux版环境搭建 Ubuntu 16.04 Python...转载 2018-05-21 16:02:05 · 16391 阅读 · 19 评论 -
目标检测 cvpr iccv eccv最新进展,包含代码
object-detection Contents:R-CNNFast R-CNNFaster R-CNNLight-Head R-CNNCascade R-CNNSPP-NetYOLOYOLOv2YOLOv3SSDDSSDFSSDESSDMDSSDPeleeR-FCNFPNRetinaNetMegDetDetNetZSDBased on han...原创 2018-05-21 15:34:53 · 5008 阅读 · 0 评论 -
TX2上使用opencv 调用CSI相机(续)
我们介绍了为什么选择在Jetson TX2使用CSI相机如何在Jetson TX2上使用CSI相机,今天我们继续介绍如何获取CSI的视频。原创 2018-05-08 21:02:53 · 5395 阅读 · 4 评论 -
C++学习(三)多线程编程
简单多线程例子:detch()启动线程:#include &lt;thread&gt;#include &lt;Windows.h&gt;using namespace std;void TestThread1();void TestThread2();int main(){ thread t1(TestThread1); t1.detach(); th...转载 2018-10-23 17:24:51 · 812 阅读 · 1 评论 -
C++ 算法学习四(直线、抛物线拟合)
#include &amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;a原创 2018-11-22 14:11:27 · 7626 阅读 · 2 评论 -
opencv双目测距(BM 与SGBM匹配)
1、引言在一年之前小编写了一篇双目测距的博文,引入了大量的童鞋阅读,其博文介绍了详细的相机标定与双目测距过程和代码https://blog.youkuaiyun.com/xiao__run/article/details/78900652摄像头如前面文章所示,大家可自行购买,小编就是在这家购买https://shop224405513.taobao.com/search.htm?spm=a1z10....原创 2019-06-18 14:58:47 · 24488 阅读 · 18 评论 -
人流量统计(opencv,caffe,dlib)
直接接到一个小项目开发,是做公园的人流量统计,涉及到很多方面的知识,小编在这里记录一下流程,涉及行人识别,多目标追踪,匹配等知识。参考国外博文,这是一个opencv学习的很好的网站。小编就是从这位大佬博客入手学习的计算机视觉,特此感谢。https://www.pyimagesearch.com/2018/07/23/simple-object-tracking-with-opencv/1、...原创 2019-06-21 18:04:05 · 13352 阅读 · 30 评论 -
自动泊车(之三)车位线定位(视觉定位)
1 引言 在前篇博客中,小博介绍了车位检测得一些方法,当车位识别出来其实就是将车位在图像坐标系中得坐标(u,v)给找出来,但是给出图像坐标是无法提供给决策层去倒车入库得,我们需要提供得是3D坐标,接下来本篇略浅得讲下视觉定位的知识,如何从鱼眼相机2D图像坐标到3D坐标。在看此文之前需要具备基本得相机模型知识,我在前面博文讲过不少双目相机标定得知识,可参考前面得知识。本文参考博客http:/...原创 2019-04-24 09:14:51 · 12880 阅读 · 7 评论 -
opencv3 adboost LBP HOG车位线检测
这节博客我记录了下利用adaboost训练LBP 特征得过程,opencv3至于原理这里就不再进行详细介绍了,直接说明如何进行训练。在opencv的安装目录中的E:\opencv-3.1.0\opencv\build\x64\vc14\bin文件夹下有两个可执行文件opencv_createsamples.exe和opencv_traincascade.exe。将这两个文件拷贝到训练文件夹下,...原创 2019-04-18 14:33:15 · 1589 阅读 · 1 评论 -
自动驾驶之车位线检测(opencv,c++)
1、引言近年来随着对泊车辅助系统需求的快速增长,提出了多种车位定位的方法,这些方法大致可分为4类:基于用户界面的、基于设施的、基于空闲位的和基于车位线的方法。与其他方法相比,基于车位线的方法有以下优势:(1)可以与基于用户界面的方法结合使用来减少由于司机重复操作带来的不便,而这是基于用户界面方法的主要缺陷。(2)不同于基于空闲位的方法,它能更准确地定位停车位,因为其定位过程不依赖于相邻汽车的停放...原创 2019-04-10 18:12:18 · 12934 阅读 · 34 评论 -
ros opencv 之三(双目视觉图像发布与接收)
1 引言 小博在前两次已经介绍过ROS的安装使用以及基础的基础知识了,我的研究方向是计算机视觉,所以我的大部分文章基本都是视觉.所以本节将结合视觉和ROS写一篇博客,来为大家详细讲解一下,并附上教程. 通常我们在机器人项目中都会涉及到进程间通讯,亦或是好多人老是问我python 怎么调用C++,其实我认为他很有可能是遇到了进程间通讯的问题,或是图像检测使用python做的,无法将检测到的结果...原创 2019-04-01 10:54:24 · 4283 阅读 · 3 评论 -
C++学习之五-目标检测剔除冗余框(NMS实现)
NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测、目标检测等。这里主要以人脸检测与车辆检测中的应用为例,来说明NMS人脸检测的一些概念(1) 绝大部分人脸检测器的核心是分类器,即给定一个尺寸固定图片,分类器判断是或者不是人脸;(2)将分类器进化为检测器的关键是:在原始图像上从多个尺度产生窗口,并resize到固定...原创 2018-12-11 15:52:28 · 4694 阅读 · 1 评论 -
c++ opencv人臉识别 PCA实现(六)
這是opencv中的一個sample:上圖先:PCA的数学原理PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。下面我将以opencv里人脸识别为例。对一副宽p、高q的二维灰度图,要完整表示该图像,需要m = pq维的向量空间,比如10...原创 2018-12-12 14:24:28 · 1708 阅读 · 1 评论 -
双目测距代码 python opencv 利用双目摄像头拍照,测距
环境:ubuntu14.04软件:opencv3.3 +pycharm 好久没有写博客了,手都感觉好生疏,最近一直在研究工控机,水下机器人等,好不容易闲下来,没办法呀,继续前行吧,前面一直说双目测距,但没有高速大家如何获得这个双目标注得图像,我在这把这代码贴一下吧,获得这些双目拍摄的图片就可以利用matlab和opencv进行标注了。小编查了网上好多代码,在利用双目摄像头i实现拍照得时...原创 2018-03-19 22:33:03 · 22548 阅读 · 25 评论 -
TX1刷机教程(安装caffe、cuda/cudnn)
Jetson TX1是英伟达公司出的GPU开发板,拥有世界上先进的嵌入式视觉计算系统,提供高性能、新技术和极佳的开发平台。虽然TX2已经出了,可以买到,但是为了稳妥起见,还是先买个TX1试试水,以后再升级吧。TX1的包装还是蛮精致的: 先来张全家福吧,可以看到,Jetson TX1包含:一块开发板、WIFI天线、电源适配器(在指定淘宝买,缺少插座现,需要自己买)、Micro USB线(下转载 2017-12-11 21:11:23 · 3743 阅读 · 6 评论 -
opencv实现双目视觉测距
最近一直在研究双目视觉测距,资料真的特别多网上,有matlab 的,python的,C++的,但个人感觉都不详细,对于小白,特别不容易上手,在这里我提供一个傻瓜式教程吧,利用matlab来进行标注,图形界面,无须任何代码,然后利用C++实现测距与深度图,原理太多我就不提了,小白直接照做就OK 1、准备工作 *硬件准备* https://item.taobao.com/item.htm?spm=原创 2017-12-26 11:47:21 · 56128 阅读 · 66 评论 -
利用opencv实现人脸检测(C++版)
小编所有的帖子都是基于unbuntu系统的,当然稍作修改同样试用于windows的,经过小编的绞尽脑汁,把刚刚发的那篇python 实现人脸和眼睛的检测的程序用C++ 实现了,当然,也参考了不少大神的博客,下面我们就一起来看看:Linux系统下安装opencv我就再啰嗦一次,防止有些人没有安装没调试出来喷小编的程序是个坑, sudo apt-get install libcv-dev sudo原创 2017-08-07 13:27:46 · 7321 阅读 · 0 评论 -
opencv实现三帧差法
今天和大家谈谈三帧差法来实现运动目标检测吧,其中运动检测画框实现追踪方法多种多样,大家可以自行百度,后面我也会一一实现,今天我先给大家玩玩三帧差法吧;;;;(注释非常清楚哦,程序也极其简单的)帧差法是最为常用的运动目标检测和分割方法之一,基本原理就是在图像序列相邻两帧或三帧间采用基于像素的时间差分通过闭值化来提取出图像中的运动区域。首先,将相邻帧图像对应像素值相减得到差分图像,然后对差分图像二值化,原创 2017-08-07 12:49:53 · 6457 阅读 · 0 评论 -
opencv实现行人检测(C++)
hog行人检测本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类。其实使用起来是很简单的,从后面的代码就可以看出来。本文参考的资料为opencv自带的sample。 关于opencv中hog的源码分析在文末: 开发环境:opencv3.10+ubuntu14.04说明: 1. hog描述子在opencv中为HOGDescriptor。 2. 可以调用该原创 2017-08-16 21:40:50 · 15884 阅读 · 3 评论 -
opencv打开双目摄像头
最近朋友请教了我一些双目摄像头的问题,小编在这里经过查阅资料给出一段程序,,有人说用directshow来实现,有人说直接可以用opencv读取多个摄像头。那么,既然opencv能实现,为什么还要装其他的库呢?我现在就来介绍使用opencv读取并显示双目摄像头。另外我的双目摄像头仅仅只是两个合在一起的只有一条USB线的。 运行环境: 笔记本 树莓派 操作系统:unbuntu 库:opencv原创 2017-08-07 12:23:47 · 10858 阅读 · 16 评论 -
opencv中findContours 和drawContours画图函数
由于小博出来游玩,最近还几天没有发帖了,没事在这看看opencv3.1版本的samples,在运行contours时,发现这个小例子还挺有趣的,不多说,我先贴出图,待会儿再细细讲解,各位请自行玩耍 首先我么导入库文件#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#inclu原创 2017-08-20 18:33:23 · 2300 阅读 · 0 评论 -
opencv点追踪
最近在学习opencv,第一个小任务就是利用光流法,跟踪视频中指定物体。在写程序的过程中,最纠结的一点就是怎么选取calcOpticalFlowPyrLK()的特征点,因为很多时候都是通过goodFeaturesToTrack()函数,找到图像中的强角点,再把强角点当作calcOpticalFlowPyrLK的特征点。我也很自然想到在感兴趣区域寻找角点,当作光流分析的特征点,但问题来了,在这些角点里原创 2017-08-13 14:22:04 · 4122 阅读 · 3 评论 -
opencv鼠标选定感兴趣区域进行目标检测
本文章主要对感兴趣区域ROI的操作(车辆检测)说明 在图像处理的领域,我们常常需要去设置自己感兴趣的区域(ROI,region of interest),来专注或者简化工作过程。也就是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点。我们圈定这个区域,以便进行下一步的处理.而且,使用ROI指定想读入的目标,可以减少处理时间,增加精度,给图像处理带来不小的便利。利用OpenCV库进行编原创 2017-08-13 19:00:41 · 7715 阅读 · 0 评论 -
OpenCV矩形rect的操作
OpenCV的Rect矩形类用法 //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: rect.area(); //返回rect的面积 5000 rect.size(); //返回rect的尺寸 [50 × 100] rect.tl(); //返回rect的左上顶点的坐标 [原创 2017-08-18 16:11:52 · 4361 阅读 · 0 评论 -
opencv感兴趣区图像叠加
在这篇文章里,我们先定义一个感兴趣区域,然后再对感兴趣区域进行操作。。。 我们分别介绍的设定感兴趣区域ROI和使用addWeighted函数进行图像线性混合的基础上,我们还将他们两者中和起来使用,也就是先指定ROI,并用addWeighted函数对我们指定的ROI区域的图像进行混合操作,我们将其封装在了一个名为ROI_LinearBlending的函数中,方便大家分块学习。 由于我们现在一般使用转载 2017-08-11 10:34:49 · 544 阅读 · 0 评论 -
多目标跟踪计数opencv(C++实现)
今天小博就把多目标检测,追踪,计数的代码贴出来供大家把玩,如有有疑问,可发邮件到1039463596@qq.com,欢迎提出批评指正: 我们先看一下追踪计数的效果吧 1. 算法目的:运动目标跟踪算法的目的就是对视频中的图象序列进行分析,计算出目标在每帧图象上的位置。这里要根据区域分割过程给出的目标质心位置,计算出目标位移,并且根据质心位置的变化判断出目标的运动方向,以及运动目标是否在观察窗口原创 2017-08-08 17:44:49 · 13801 阅读 · 13 评论 -
C++利用帧差法背景差分实现运动目标检测(opencv)
帧差法、光流法、背景减除法 运动目标检测是指在序列图像中检测出变化区域并将运动目标从背景图像中提取出来。通常情况下,目标分类、跟踪和行为理解等后处理过程仅仅考虑图像中对应于运动目标的像素区域,因此运动目标的正确检测与分割对于后期处理非常重要然而,由于场景的动态变化,如天气、光照、阴影及杂乱背景干扰等的影响,使得运动目标的检测与分割变得相当困难。根据摄像头是否保持静止,运动检测分为静态背景和运运动目原创 2017-08-07 15:37:38 · 34280 阅读 · 7 评论 -
车辆的检测、跟踪和计数
【算法的步骤】 1、首先画出感兴趣区域 2、对进入感兴趣区域的车辆进行前灯的检测,跟踪和计数 感兴趣区域的划分,在视频处理中有着重要应用,在视频中标注感兴趣区域的方法: 暂停视频或者在视频流的第一帧中,画出感兴趣区域 #include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> #in原创 2017-08-14 13:30:30 · 12343 阅读 · 2 评论 -
bluerov openrov使用摄像头实时计算
小编最近太忙,在潜心研究如何检测渔网,好让ROV避开破损丢弃的渔网,一直没有折腾rov, 一直好多人问我bluerov咋么使用usb摄像头,我没时间看源码,所以、先直接拿USB换CSI,发现不成功,于是我就想到了mjpg-streamer,经过调试,成功实现,在这露我先贴出这段源码吧,我不仅调用了一下,还实现了在线检测,由于只是测试,就检测了下人脸,至于bluerov的源码编译,我明天再贴出来吧,小原创 2017-11-27 23:24:56 · 2362 阅读 · 0 评论 -
双目视觉标定,矫正,深度图(Vs +OpenCV C++ Python实现)
代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你(开场白) 长时间不写博客,我总感觉自己没有做事情,最近一直在做目标检测,想结合一下双目视觉,做立体检测,于是就研究了一下双目视觉,参考了很多人的相关博客,在这里,特意表示感谢一下。 使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些?相机标定原创 2017-12-24 21:07:26 · 33553 阅读 · 48 评论 -
TX2实现yolov2(目标检测,计数,训练自己的数据集)
TX2如何刷机,安装caffe,cuda,cudnn,请参考我的上一篇博客http://blog.youkuaiyun.com/xiao__run/article/details/78776834 YOLOv2安装 1.获取源码git clone https://github.com/pjreddie/darknetcd darknet2.修改Makefile 我们打开MakeFile文件: na原创 2017-12-12 22:57:53 · 12666 阅读 · 20 评论