opencv
文章平均质量分 75
洪流之源
这个作者很懒,什么都没留下…
展开
-
OpenCV4.7.0、FFmpeg5.1 Nvidia GPU视频硬解码
OpenCV4.7.0、FFmpeg5.1 2080TI视频硬解码原创 2023-02-10 14:42:44 · 7516 阅读 · 8 评论 -
ubuntu20.04 arm-linux-gnueabihf 交叉编译opencv4.7.0 与opencv-contrib-4.7.0
ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0原创 2023-01-06 12:24:50 · 2317 阅读 · 0 评论 -
Ubuntu20.04 编译opencv-4.5.0与opencv-contrib-4.5.0
Ubuntu 编译opencv-4.5.0 与opencv-contrib-4.5.0原创 2022-10-17 17:45:50 · 3420 阅读 · 3 评论 -
opencv4.1.0 Contrib 编译缺失文件
https://zhuanlan.zhihu.com/p/129369660https://www.cnblogs.com/arxive/p/11778731.html原创 2020-09-15 17:15:33 · 611 阅读 · 0 评论 -
opencv基础笔记(1)图像的读取、显示、颜色空间转换、保存图像
在做图像处理的时候,读取图像、显示图像(包括显示窗口的设置)、对图像的颜色空间进行转换(比如灰度图像转换为RGB图像)、保存图像,是最基本的操作,下面是一个简单的demo:#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#inclu...原创 2018-05-09 09:11:58 · 1643 阅读 · 0 评论 -
opencv3 UMat、OpenCL
UMat对象起源OpenCV3中引入了一个新的图像容器对象UMat,它跟Mat有着多数相似的功能和相同的API函数,但是代表的意义却太不一样。要说到UMat对象的来龙去脉,必须首先从OpenCL来开始说,OpenCL是一个面向异构系统通用的并行编程标准,这个标准最早是苹果公司提出,后来变成了一个国际标准,目的是通过它开发通用的GPU计算软件,中国的华为是该标准的成员之一。说的直白点就是如果转载 2017-06-13 08:49:14 · 4375 阅读 · 5 评论 -
基于opencv计算星云图像的面积与周长
需求:以上图像是太空望远镜的星云图像,要求通过opencv计算出星云的面积与周长。解决思路:通过二值分割+图像形态学+轮廓提取。代码如下#include #include #include using namespace cv;using namespace std;int main(){ Mat src_image = imread("1.jpg");原创 2017-06-12 19:35:07 · 5670 阅读 · 1 评论 -
opencv背景去除建模(BSM)
opencv提供两种BS算法:1.基于图像分割(GMM-高斯混合模型);2.机器学习(KNN-K近邻)。下面是基于以上两种BS算法的示例代码:#include #include using namespace cv;using namespace std;int main(){ VideoCapture capture; capture.open("原创 2017-05-13 17:02:04 · 2569 阅读 · 1 评论 -
Opencv + FFTW3 图象高斯高低通滤波
本文转自 https://blog.csdn.net/guoruijiushiwo/article/details/774114911:LPF公式:out(i,j) = exp(-((i-M/2)^2+(j-N/2)^2)/2/sigma^2);2:HPF:公式:out(i,j) = 1 - exp(-((i-M/2)^2+(j-N/2)^2)/2/sigma^2);代...转载 2018-08-23 10:05:32 · 993 阅读 · 0 评论 -
学习OpenCV2——卡尔曼滤波(KalmanFilter)详解
https://blog.csdn.net/gdfsg/article/details/50904811转载 2018-08-23 10:07:49 · 1088 阅读 · 0 评论 -
图像坐标系,相机坐标系和世界坐标系
对于图像坐标系,相机坐标系和世界坐标系的学习和自己的一些理解,如果有错误欢迎指正和讨论。图像坐标系1.图像像素坐标系原点:图像左上角P0点 单位:像素 横坐标u:图像数组中的列数 纵坐标v:图像数组中的行数2.图像物理坐标系 在图像像素坐标系下建立以物理单位(以下均假设为mm)表示的坐标系,使像素尺度具有物理意义。 原点:主点(相机光轴与图像平面的交点,一般位于图像平...转载 2018-09-13 15:10:30 · 16739 阅读 · 7 评论 -
摄像机模型(内参、外参)
1、摄像机外参:决定摄像机坐标与世界坐标系之间相对位置关系。其中Pw为世界坐标,Pc是摄像机坐标,他们之间关系为Pc = RPw + T式中,T= (Tx,Ty,Tz),是平移向量,R = R(α,β,γ)是旋转矩阵,分别是绕摄像机坐标系z轴旋转角度为γ,绕y轴旋转角度为β,绕x轴旋转角度为α。6个参数组成(α,β,γ,Tx,Ty,Tz)为摄像机外参。2、摄像机内参:确定摄像机...转载 2018-09-13 15:25:40 · 7768 阅读 · 0 评论 -
张正友相机标定Opencv实现程序(ubuntu环境)
机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。 相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐标(一般情况下假定图像位于Z=0平面上)。相机标定的输出:摄像机的内参、外参系数流程:1. 准备标定图片(D435可以利用程序保存所得...转载 2018-09-13 17:13:54 · 1281 阅读 · 2 评论 -
python调用c++接口传递opencv格式图像
关于python调用c++接口的方法,网上有好多例子,不在赘述了。文件结构如下:直接上代码:opencvcall.cpp#include <opencv2/opencv.hpp>using namespace cv;extern "C"{ void test(int height, int width, uchar* frame_data) ...原创 2019-04-26 10:21:06 · 5419 阅读 · 4 评论 -
canny算法代码实现
#include "core/core.hpp" #include "highgui/highgui.hpp" #include "imgproc/imgproc.hpp" #include "iostream" #include "math.h" using namespace std; using namespace cv; //***原创 2017-03-26 15:32:34 · 2621 阅读 · 4 评论 -
图像形态学处理
http://blog.csdn.net/stscsdn?viewmode=contents转载 2017-01-23 15:35:05 · 401 阅读 · 0 评论 -
从计算机视觉的小白变为大神,你需要经历这七个阶段
如果想要机器能够进行思考,我们需要先教会它们去看。 李飞飞——Director of Stanford AI Lab and Stanford Vision Lab计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成更适合人眼观察或进转载 2017-01-20 10:55:02 · 4792 阅读 · 0 评论 -
算机视觉、机器学习相关领域论文和源代码大集合
转自: http://blog.csdn.net/zouxy09/article/details/8550952 作者:zouxy09一、特征提取Feature Extraction:· SIFT [1] [Demo program][SIFT Library] [VLFeat]· PCA-SIFT [2]转载 2016-11-03 17:44:52 · 731 阅读 · 0 评论 -
机器人的双眸:视觉SLAM导论
雷锋网(公众号:雷锋网)按:本文作者高翔,清华大学自动化学院博士研究生,主要研究兴趣为基于RGB-D相机的视觉SLAM技术。先后获得清华大学新生奖学金、张明为奖学金并三次获得国家励志奖学金,相关研究成果发表于Robotics and Autonomous Systems、Autonomous Robot、CCC等期刊和会议,个人博客(点击可看)。原标题为:《机器人的双眸:视觉SLAM导论》。转载 2016-11-03 21:12:46 · 1208 阅读 · 0 评论 -
opencv视频操作基础---VideoCapture类
opencv中通过VideoCaptrue类对视频进行读取操作以及调用摄像头,下面是该类的API。1.VideoCapture类的构造函数:C++: VideoCapture::VideoCapture();C++: VideoCapture::VideoCapture(const string& filename);C++: VideoCapture::VideoCaptur...原创 2016-11-28 18:02:31 · 115908 阅读 · 12 评论 -
opencv调整图像亮度与对比度
图像变换的操作一般可以分为下面两种: 1.基于邻域操作进行区域变换,比如卷积操作、特征提取、图像梯度计算、角点检测、图像模糊与蜕化等。 2.基于点操作进行像素的变换,比如图像亮度于对比度的调整。 下面我们对图像的亮度与对比度的调节进行讨论。 亮度与对比度的调节主要基于下面的公式,其中g(i,j)为处理前的图像,f(i,j)为处理后的图像: g(i,原创 2016-12-08 10:17:37 · 2448 阅读 · 0 评论 -
在opencv中为程序界面添加Trackbar
在opencv中经常遇到调节参数的问题,比如我们在用高斯滤波器进行图像滤波的时候,需要不断调整滤波器内核的大小,来达到一个适合的滤波效果。如果直接在程序源码中进行修改高斯内核的大小,然后进行编译、运行观察图像效果,这是十分不方便的,而且不够直观。为了解决这个问题opencv中提供了Tracebar,也就是滑动条,它依附于窗口而存在,可以实现参数的动态调整。 下面是创建Tracebar的函数原原创 2016-11-25 17:05:00 · 1307 阅读 · 0 评论 -
opencv鼠标操作
opencv中的鼠标操作和滑动条的消息映射方式很类似,都是通过一个中介函数配合一个回调函数来实现。opencv中提供了setMouseCallback()函数,这个函数的作用是为指定的窗口设置鼠标回调函数(跟createTrackBar函数一样都是依附于指定的窗口),通过这个函数可以实现画图的功能。下面是这个函数的原型:void setMouseCallback(const string& w原创 2016-11-26 11:31:38 · 2315 阅读 · 0 评论 -
在OpenCV中图像边界扩展 copyMakeBorder 的实现
1. 边界处理的类型2. opencv的实现在图像处理中,经常需要空域或频域的滤波处理,在进入真正的处理程序前,需要考虑图像边界情况。通常的处理方法是为图像增加一定的边缘,以适应 卷积核 在原图像边界的操作。1. 增加边界的类型有以下4个类型:以一行图像数据为例,abcdefgh是原图数据,|是图像边界,为原图加边aaaaaa|abcdefgh|hhhh转载 2016-12-20 21:57:48 · 2398 阅读 · 0 评论 -
opencv矩阵运算
一、矩阵Mat I,img,I1,I2,dst,A,B;double k,alpha;Scalar s;1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,dst,mask,dtype);scaleAdd(I1,scale,I2,dst);//dst=scale*I1+I2;2.减法absdiff(I1,I2,I);//I=|I1-I2转载 2017-01-13 15:25:22 · 338 阅读 · 0 评论 -
高斯滤波及高斯卷积核C++实现
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,在图像处理的降噪、平滑中应用较多,特别是对抑制或消除服从正态分布的噪声非常有效。高斯滤波的过程其实就是对整幅图像进行加权平均操作的过程。滤波后图像上每一个像素的灰度值大小,由其本身和邻域内的其他像素共同决定。具体实现是:用一个大小为(2*N+1)的模板(或称卷积核、掩模)依次扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度替代模板转载 2017-01-16 13:53:56 · 2571 阅读 · 0 评论 -
canny边缘检测C++实现
Canny边缘检测算法是澳大利亚科学家John F. Canny在1986年提出来的,不得不提一下的是当年John Canny本人才28岁!到今天已经30年过去了,Canny算法仍然是图像边缘检测算法中最经典、有效的算法之一。一起睹一下大家Canny的风采:John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的3个指标:转载 2017-01-16 08:21:35 · 2269 阅读 · 0 评论 -
Sobel算子及C++实现
Sobel 算子是一个离散的一阶微分算子,用来计算图像灰度函数的近似梯度。在空间域上Sobel算子很容易实现,执行速度快,对部分噪声具有平滑作用,还能够提供较为精确的边缘方向信息,缺点是边缘定位精度不够高。边缘是指一个物体与另一个物体的分界处,一般边缘内外处都会有灰度值上的差异,Sobel算子就是通过像素点空间邻域内上下,左右相邻点的灰度加权运算,求取物体边缘。经典So转载 2017-01-16 14:15:19 · 1785 阅读 · 0 评论 -
OpenCV2:Mat属性type,depth,step
在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学。这几天试着用OpenCV2实现了图像缩小的两种算法:基于等间隔采样和基于局部均值的图像缩小,发现对Mat中的数据布局和一些属性的认知还是懵懵懂懂,本文对Mat的一些重要属性和数据布局做一个总结。Mat的作用The class Mat represe转载 2017-01-16 15:32:07 · 343 阅读 · 0 评论 -
canny边缘检测算法原理与C语言实现
Canny算子是John Canny在1986年提出的,那年老大爷才28岁,该文章发表在PAMI顶级期刊上的(1986. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 8, 1986, pp. 679-698)。老大转载 2017-01-16 16:15:53 · 6996 阅读 · 0 评论 -
OpenCV2中矩阵的归一化 normalize函数详解
该文章内容主要来自于http://www.bubuko.com/infodetail-705559.html1. 归一化定义与作用 归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分转载 2017-01-17 17:00:58 · 2055 阅读 · 0 评论 -
OpenCV: Canny边缘检测算法原理及其VC实现详解
原文地址:http://blog.csdn.net/likezhaobin/article/details/6892629图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图转载 2016-08-26 16:15:25 · 3502 阅读 · 1 评论