
C++ - opencv
文章平均质量分 67
C++使用opencv实例
明月醉窗台
路漫漫其修远兮,吾将上下而求索
接视觉算法类各种商务合作,算法实现,具体可联系w:1301863091
展开
-
目标分割算法之分水岭算法
分水岭算法1.经典算法原理及实现传统的目标分割算法主要分为两种1.基于像素相似性:阈值分割、k-means分割2.基于像素邻域关系:区域生长、分水岭、基于标记+分水岭分水岭算法原理如图中展现了凹凸不平的地貌,视觉上明显的位置有盆地及丘陵,用一维曲线讲对应波峰与波谷,向盆地注水,水会顺这地势先注入地势最低的波谷,然后随着水势升高再注入高一级的波谷,为了保证先注满第一个波谷,需要在右侧波峰出修建大坝,随后依次分水岭注满。在图像中,地貌对应整个图像的背景,地势对应图像像素点大小。opencv 函原创 2021-08-30 10:24:17 · 8393 阅读 · 1 评论 -
QT_Demo(1)之实现多线程实现简单的电脑摄像头视频流开关
QT_Demo(1)之实现多线程实现简单的电脑摄像头视频流开关原创 2024-12-22 15:30:02 · 990 阅读 · 0 评论 -
C++ Opencv之图像数据拷贝分析
C++ Opencv之图像数据拷贝分析原创 2024-05-08 09:08:59 · 502 阅读 · 1 评论 -
Opencv_CUDA实现推理图像前处理与后处理
Opencv_CUDA实现推理图像前处理与后处理原创 2023-12-25 21:41:39 · 1273 阅读 · 0 评论 -
Opencv之RANSAC算法用于直线拟合及特征点集匹配详解
Opencv之RANSAC算法用于直线拟合及特征点集匹配详解原创 2023-10-19 21:22:15 · 5935 阅读 · 0 评论 -
Opencv 之ORB特征提取与匹配API简介及使用例程
Opencv 之ORB特征提取与匹配API简介及使用例程原创 2023-08-14 21:22:11 · 2120 阅读 · 0 评论 -
Opencv特征检测之ORB算法原理及应用详解
Opencv特征检测之ORB算法原理及应用详解原创 2023-08-13 13:27:40 · 1476 阅读 · 0 评论 -
Opencv将数据保存到xml、yaml / 从xml、yaml读取数据
Opencv将数据保存到xml、yaml / 从xml、yaml读取数据原创 2023-08-10 22:15:00 · 1601 阅读 · 0 评论 -
VS2019下C#调用C++ DLL详解+数据转换
VS2019下C#调用C++ DLL详解+数据转换原创 2022-12-18 18:34:45 · 1951 阅读 · 0 评论 -
三维重建(3)之双目立体相机之 任意一组坐标点的极线校正
1.立体相机三位重建一般步骤:基于图像的三维点云重建:相机标定->立体(极线)校正->特征匹配->获取匹配点对->生成点云->点云拟合基于深度相机(RGB-D)的三维重建:相机标定->RGB与深度图标定->目标分割->点云重建2.立体校正作为三维重建过程中不可或缺的一步,目前Opencv仅支持实现图像的立体校正,而多数在目标检测情况下需要实现点到点的映射关系,所以尝试借助Opencv的remap实现了任意一组点的极线校正Opencv极线原创 2022-04-27 09:59:12 · 2423 阅读 · 0 评论 -
opencv 之 外接多边形(矩形、圆、三角形、椭圆、多边形)使用详解
opencv 之 外接多边形(矩形、圆、三角形、椭圆、多边形)使用详解原创 2023-07-22 19:50:30 · 3193 阅读 · 0 评论 -
Opencv之角点 Harris、Shi-Tomasi 检测详解
Opencv之角点 Harris、Shi-Tomasi 检测详解原创 2023-07-11 20:22:28 · 1362 阅读 · 0 评论 -
C++ - opencv应用实例之 SURF 特征匹配用于图像拼接
C++ - opencv应用实例之 SURF 特征匹配用于图像拼接原创 2023-05-27 09:40:08 · 1224 阅读 · 2 评论 -
C++ 特性之map详解 + 联合opencv使用
C++ 特性之map详解 + 联合opencv使用原创 2023-05-06 21:30:00 · 586 阅读 · 0 评论 -
c#向c++(opencv)实现双向图像数据传递,以及内存空间申请与释放问题
c#向c++(opencv)实现双向图像数据传递,以及内存空间申请与释放问题转载 2023-05-05 21:45:00 · 3075 阅读 · 0 评论 -
opencv之图像遍历方法详解
opencv之图像遍历方法详解原创 2023-04-26 20:45:00 · 1629 阅读 · 0 评论 -
特征检测之HOG特征算法详解及Opencv接口使用
特征检测之HOG特征算法详解及Opencv接口使用原创 2023-02-17 19:30:00 · 3809 阅读 · 0 评论 -
C++ - Opencv应用实例之仿射变换实现工件角度校正
C++ - Opencv应用实例之仿射变换实现工件角度校正原创 2023-02-05 21:12:02 · 1403 阅读 · 0 评论 -
Opencv之鼠标事件/窗口交互详解
Opencv之鼠标事件/窗口交互详解原创 2022-11-25 12:29:06 · 1971 阅读 · 0 评论 -
三维重建(10)之立体匹配算法详解:BM、SGBM
三维重建(10)之立体匹配算法详解:BM、SGBM原创 2022-11-05 18:22:46 · 2810 阅读 · 1 评论 -
opencv计算图像梯度:Sobel、Scharr、Laplacian、Canny详解
opencv计算图像梯度:Sobel、Scharr、Laplacian详解原创 2022-11-04 19:30:00 · 1350 阅读 · 0 评论 -
C++ - Opencv模板匹配与块匹配
C++ - Opencv模板匹配与块匹配原创 2022-11-04 07:00:00 · 1791 阅读 · 0 评论 -
C++ - opencv应用实例之文本图像增强
C++ - opencv应用实例之文本图像增强原创 2022-10-13 11:00:07 · 2744 阅读 · 0 评论 -
目标分割算法之基于区域增长
区域生长算法1.理论基础区域生长算法的基本思想是将有相似性质的像素点合并到一起。对每一个区域要先指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。这样一个区域的生长就完成了。这个过程中有几个关键的问题:a> 给定种子点(种子点如何选取?)种子点的选取很多时候采用人工交互的方法实现,也有用其他方式的,比如寻找物体并提取物体内部点作为种子点b> 确定在生长过程中能将相邻像素包括进来的准原创 2021-08-26 11:33:12 · 638 阅读 · 0 评论 -
傅里叶变换用于特征匹配+相似性度量应用总结
最近经交流被问到傅里叶变换用于特征匹配的具体原理、及在解决分类问题时,为何欧式距离可以用于n-1维向量空间的相似性度量,奈何一时无语凝噎,难以用简洁通俗的语言来解释,故在此总结留念:1.FFT用于特征匹配(即相位相关法)图像配准的基本问题是找出一种图像转换方法,用以纠正图像的形变。造成图像形变的原因多种多样,例如对于遥感图像而言,传感器噪声、由传感器视点变化或平台不稳定造成的透视变化、被拍摄物体的移动、变形或生长等变化、闪电和大气变化,以及阴影和云层遮盖都使图像产生不同形式的形变。正是图像形变原因和形式原创 2022-02-08 20:36:07 · 5987 阅读 · 0 评论 -
二值化+连通域+提取轮廓小记
rgb、hsv颜色空间,图像中绘制带背景色的矩形框、二值图像处理及轮廓特征分析原创 2022-04-26 16:30:07 · 877 阅读 · 0 评论 -
图像变换之旋转、仿射变换、透视变换及Opencv接口介绍
1.图像平移、翻转与旋转原理总结一下相关原理对于实际应用,opencv提供了相应的接口函数,也可遍历图像坐标进行相应变换2.仿射变换原理实现:常用矩阵:3.透视变换透视变换又名投影变换,其可将三维坐标投影到二维坐标系,也可同样应用在二位坐标系。矩阵可分解为:参考:1.仿射变换原理及opencv接口应用2.透视变换应用 实例...原创 2022-02-10 17:22:20 · 2525 阅读 · 0 评论 -
多边形近似轮廓-多边形简化
1.原理多边形近似将物体的轮廓转为一系列的直线段,在此使用基于弦算法得到近似轮廓的多边形。就复杂度和所用内存空间而言,该算法不是最有效的,但具有易于实现和提供精确的逼近阈值控制的优点。弦算法通过迭代细分过程减少多边形轮廓的点数。分段[AB]表示A是起点,B是离A距离最远的弦,在A和B之间的轮廓上,寻找离弦最远的点M。如果M与弦之间的欧氏距离小于近似阈值,则停止对端[AB]的迭代过程,否则继续对段[AM]和[MB]的迭代过程。备注来两个公式:2.算法实现多边形近似算法原理源自Douglas-Peu原创 2021-11-23 19:55:30 · 5755 阅读 · 0 评论 -
C++ - Opencv应用实例之相位相关法实现图像拼接
原本是模仿一张大图进行任意方向移动后得到结果图,求他的逆过程来判断大图运动方向,但不是通过整个大图来判别,而是在运动时,大图被扫描分割成若干子图,通过将子图进行拼接后,判断拼接后的L形图像之间的偏移量来进行运动方向判定。将待拼接的两幅图像进行傅里叶傅里叶变换,然后两者相乘求取互功率谱,再进行傅里叶反变换后得到对应时域的狄拉克雷函数,一个关于x,y的二元一次函数,其极大值对应的x,y值即为偏移量。**涉及算法**图像缩放、比例裁剪、傅里叶变换、相位相关法、图像拷贝。**对比算法**模板匹配算法。...原创 2022-07-17 22:18:53 · 2000 阅读 · 0 评论 -
Opencv相机标定角点提取算法之角点排序
一个关于角点提取及排序的小尝试,C++ opencv原创 2022-08-09 16:23:09 · 2190 阅读 · 2 评论 -
形态学处理用于目标分割:腐蚀、膨胀、开/闭运算、顶帽等
1.膨胀膨胀运算将目标物体边界处的背景点整合到该目标区域中,使物体边界向外部扩张。膨胀运算的表达式为opencv函数使用:Mat out;//第一个参数MORPH_RECT表示矩形的卷积核,当然还可以选择椭圆形的、交叉型的//MORPH_ELLIPSE MORPH_CROSSMat element = getStructuringElement(MORPH_RECT, Size(15, 15)); //膨胀操作dilate(img, out, element);namedWindow(原创 2022-01-22 09:53:20 · 3677 阅读 · 0 评论 -
直方图与伽马变换之一
图像增强:直方图均衡化、伽马变换、自适应伽马变换原理及实现原创 2021-11-03 20:00:21 · 313 阅读 · 0 评论 -
opencv-core组件二之傅里叶变换
离散傅里叶变换#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"#include <iostream>using namespace cv;using namespace std;static void help(char ** argv){ cout << end原创 2021-08-23 20:14:27 · 152 阅读 · 0 评论 -
目标分割算法之分水岭算法
1.分水岭实现原理分水岭算法常用于目标分割研究,其将图像以灰度为参考可视化为一种拓扑地貌,灰度大小等价于海拔高低,如果向地貌中的山谷进行漫水,一定程度时山丘将被分开成独立个体1.1基于降雨法实现分水岭如上图所示,假设雨水从而给高出降落,最终在山谷聚集,不同的山谷被赋予不同颜色,然而,在不同颜色出现汇聚的地方,混合颜色的位置就可以修建大坝,将目标分割开1.2基于灌水法实现分水岭如上图所示平面图,从各个山谷挖个洞向上灌水(灌水位置对应局部极小值,伴随水位上升,不同山谷的水相遇时,就可以修建大坝2原创 2022-01-17 19:03:19 · 4443 阅读 · 0 评论 -
Opencv例程之双目相机标定
双目视觉标定程序讲解 #include "opencv2/calib3d/calib3d.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <vecto...原创 2022-05-26 09:24:18 · 1161 阅读 · 2 评论 -
目标分割算法之基于阈值处理
基于阈值的分割算法总结一下基于阈值的图像分割的几种算法,如下:1. 双峰法阈值分割Prewitt 等人于六十年代中期提出的直方图双峰法(也称 mode 法) 是典型的全局单阈值分割方法。该方法的基本思想是:假设图像中有明显的目标和背景,则其灰度直方图呈双峰分布,当灰度级直方图具有双峰特性时,选取两峰之间的谷对应的灰度级作为阈值。如果背景的灰度值在整个图像中可以合理地看作为恒定,而且所有物体与背景都具有几乎相同的对比度,那么,选择一个正确的、固定的全局阈值会有较好的效果。2.迭代阈值分割算法原理如下原创 2021-08-25 19:21:02 · 2414 阅读 · 0 评论 -
目标分割算法之连通域分析
1.连通域提取二值化后的图像为8位图CV_8UC1,首先对连通域进行标记,然后针对32位CV_32S图像进行连通域提取具体如下://标记连通域 img_bw == 二值图像Mat mask;connectedComponents(img_bw, mask, 8);//mask位32位图,连通域标签为其索引值map<int, vector<Point>> map_connect;for (int i = 0; i < mask.rows; i++){ for原创 2022-01-27 17:06:10 · 6537 阅读 · 0 评论 -
几何矩求解椭圆
勒让德惯性椭圆求解1.matlab利用二阶矩求解椭圆长轴、短轴、离心率、长轴与x轴夹角xbar=stats(k).Centroid(1);%区域的重心坐标ybar = stats(k).Centroid(2); x = list(:,1) - xbar; y = -(list(:,2) - ybar); % This is negative for the % orientation calculation (measured in the % counter-clockwise dire原创 2021-09-26 19:57:25 · 1271 阅读 · 2 评论 -
霍夫变换--直线检测
霍夫变换最近苦研直线检测,感觉霍夫变换也还可以,哈哈,然后再摘抄谢别人整理好的作品备用,自家有粮,啥也不慌。1.直线检测通用算法:原图->灰度->滤波->二值->边缘检测->霍夫直线检测->对直线的一些操作里边边缘检测有个好的结果依赖于前期对图像的预处理,也可以再添加一些形态学处理,后边直线检测函数调参比较重要,需要根据具体应用场景挑一个普适参数,over下边是个example:#include <iostream>#include <原创 2021-10-21 19:45:03 · 1130 阅读 · 0 评论 -
Opencv立体视觉相关API及原理介绍
1.initUndistortRectifyMap()void cv::initUndistortRectifyMap(InputArray cameraMatrix,InputArray distCoeffs,InputArray R,InputArray newCameraMatrix,Size size,int m1type,OutputArray map1,OutputArray map2 ) Python:cv.initUndistortRectifyMap(原创 2022-05-11 15:33:34 · 1759 阅读 · 0 评论