OpenCV
文章平均质量分 62
雪易
从事医学图像图形算法相关的工作,包括图像的三维重建、分割、配准以及网格处理等,熟悉OpenCV、VTK、ITK等第三方库;CSDN一直在线,欢迎各位小伙伴骚扰
展开
-
相位相关法图像配准
小结:本文主要介绍基于相位相关法的图像配准。原创 2024-08-01 16:35:54 · 464 阅读 · 0 评论 -
【OpenCV】连通域分析
本文主要介绍OpenCV中连通域相关的接口以及连通域分析的方法。原创 2024-08-01 10:35:14 · 505 阅读 · 0 评论 -
【OpenCV】图像增强
本文分享OpenCV中的图像增强算法,希望对各位小伙伴有所帮助!图像增强算法有两大类:空间域增强算法和变换域增强算法。目录前言1. 空间域增强算法1.1 灰度变化1.2 直方图处理1.3 钝化遮蔽和高提升滤波2. 变换域增强算法1. 空间域增强算法。原创 2024-07-26 15:47:21 · 149 阅读 · 0 评论 -
【OpenCV】特征匹配
本文分享OpenCV中的特征匹配,希望对各位小伙伴有所帮助!目录前言1. 特征检测2. 特征匹配3. 参数调整1. 特征检测【OpenCV】SIFT&SURF&ORB 特征检测-CSDN博客2. 特征匹配//特征点匹配std::cout原创 2024-07-19 10:48:46 · 412 阅读 · 0 评论 -
【OpenCV】SIFT&SURF&ORB 特征检测
本文分享SIFT&SURF&ORB 特征检测,希望对各位小伙伴有所帮助!原创 2024-07-19 10:45:25 · 358 阅读 · 0 评论 -
【OpenCV】CMake配置OpenCV库
本文分享CMake如何配置OpenCV库,希望对各位小伙伴有所帮助!CMake配置OpenCV库有两种方式:添加系统环境变量 & CMakeLists.txt中指定OpenCV_DIR原创 2024-07-16 17:32:29 · 399 阅读 · 0 评论 -
PIP安装Pytorch
本文分享Pytorch安装过程,希望对各位小伙伴有所帮助!原创 2024-07-10 14:15:23 · 90 阅读 · 0 评论 -
【OpenCV】opencv-4.9.0源码编译(二)
本文分享OpenCV源码编译时所遇到的问题,希望对各位小伙伴有所帮助!原创 2024-06-13 11:23:18 · 381 阅读 · 0 评论 -
【OpenCV】opencv-4.9.0源码编译(一)
本文分享OpenCV-4.9.0源码编译流程,包含CUDA模块,包含Python-opencv,希望对各位小伙伴有所帮助!1. 环境准备Python3.122. 源码下载下载OpenCV源码,此处需要下载两个源码,分别是opencv和。下载链接为opencv:不过在下载时要注意一点,就是要保证opencv和下载的版本要一致,此处我们下载的版本为:4.9.0。下载完成后,将两个文件解压到同一个文件夹中。3. CMake编译。原创 2024-06-12 16:52:17 · 1034 阅读 · 0 评论 -
【OpenCV】CUDA讲解(一)
本文分享关于CUDA的知识,希望对各位小伙伴有所帮助!原创 2024-06-12 11:54:00 · 498 阅读 · 0 评论 -
OpenCV 边缘检测Sobel
一、Sobel算子理论解析Sobel算子用来计算一阶、二阶、三阶或混合图像差分。一阶图像差分根据一阶导数来近似,,一阶计算过程:1. 分别在x和y方向求导:x方向:将I与一个奇数大小的内核Gx进行卷积,当内核为3时,Gx的计算结果为:y方向:将I与一个奇数大小的Gy进行卷积,当内核为3时,Gy的计算结果为:注:Sobel中间加入权重值2,可以有效抑制(平滑)噪声...原创 2020-03-28 15:27:13 · 330 阅读 · 0 评论 -
OpenCV 对比度增强
图像增强的一种重要方法是对比度增强,常见的有以下几种方法:直方图均衡,局部自适应对比度增强(ACE adaptiveContrastEnhancement),自适应直方图均衡(CLAHE),自动对比度。1. 直方图均衡 cv::equalizeHist(src, dst);2. 自适应直方图均衡(CLAHE)参考 cv::Mat clahe_img = srcGray.clone(); cv::Mat clahe_dst; cv::Ptr<cv:原创 2021-03-23 15:58:47 · 4101 阅读 · 0 评论 -
OpenCV 滞后阈值及应用
此博文仅记录学习中的一些心得,供以后参考,若能为看到的朋友提供一些帮助,那真是荣幸之至。前言滞后阈值在OpenCV中的应用还是较多的,例:在canny边缘检测中,通过双阈值的滞后阈值处理进行较长边缘的连接。滞后阈值原理1. 若某一像素位置的幅值超过高阈值,则该位置被保留。2. 若某一像素位置的幅值低于低阈值,则该位置被去除。3. 若某一像素位置的幅值处于高低阈值之间,则该像素仅仅在连接到一个高于高阈值像素时被保留。滞后阈值的实现方法1. 在高阈值图像中定义下一个未被原创 2021-01-28 15:40:55 · 3293 阅读 · 0 评论 -
OpenCV 图像增强(频率域)
总结最近项目中常用的图像增强方法:一. 非锐化模板(钝化模板)非锐化模板的处理步骤:1. 高斯低通滤波图像2. 从原图像减去模糊图像(产生的差值图像称为模板)3. 将模板加到原图像上二. 高提升滤波高提升滤波的处理步骤:1. 模糊原图像2. 从原图像减去模糊图像(产生的差值图像称为模板)3. 将模板加到原图像上 cv::Mat srcMat = imread("ImageEnhancement\\0_dust.bmp"); cv::Mat gr原创 2021-01-15 15:13:14 · 1276 阅读 · 1 评论 -
OpenCV 图像增强(空间域)
总结最近项目中常用的图像增强方法:一. 非锐化模板(钝化模板)非锐化模板的处理步骤:1. 模糊原图像2. 从原图像减去模糊图像(产生的差值图像称为模板)3. 将模板加到原图像上二. 高提升滤波高提升滤波的处理步骤:1. 模糊原图像2. 从原图像减去模糊图像(产生的差值图像称为模板)3. 将模板加到原图像上实例: cv::Mat srcMat = imread("ImageEnhancement\\Fig0340(a)(dipxe_text).t原创 2021-01-15 14:42:26 · 545 阅读 · 1 评论 -
OpenCV4.4.0 ConnectedComponents连通区域计算
连通区域计算:功能很强大,比计算轮廓好用cv::connectedComponents(InputArray img_, OutputArray _labels, int connectivity, int ltype);参数分别为:输入图像,输出图像,连通区域计算方式(4连通 or 8连通),图像类型(CV_16U or CV_32S)应用实例:识别图像中的物理像素点 原图 ...原创 2020-12-16 09:35:39 · 3980 阅读 · 3 评论 -
VS2019中OpenCV4.4.0环境配置(一劳永逸法)
1. 新建控制台程序2. 视图--其他窗口--属性管理器中,选择Debug|x64,或者Release|x64的Microsoft.Cpp.x64.user,双击打开属性页。3. 配置包含目录,库目录,和链接器下的输入。原创 2020-08-24 13:33:33 · 2832 阅读 · 4 评论 -
如何理解图像傅里叶变换之后得到的频谱图
对傅里叶变换后得到的图像做详细分析,特别好的一篇关于理解频谱图的文章转载 2019-11-18 16:32:35 · 8725 阅读 · 0 评论 -
OpenCV 图像内插
1. 最近邻内插根据原图像和目标图像的尺寸,计算缩放的比例,然后根据缩放比例计算目标像素所依据的原像素,过程中自然会产生小数,这时就采用四舍五入,取与这个点最相近的点,当然向下取整也是可以的。#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>using namespace std;void scale(cv::Mat& input原创 2020-07-29 15:35:26 · 440 阅读 · 1 评论 -
Qt 检测画面画图工具
存在问题1. 保存图片时,.jpg格式会出现部分像素值失真,.png格式则不会出现。原创 2020-07-29 14:24:58 · 240 阅读 · 0 评论 -
Qt 图标设置及制作
新建透明图标cv::Mat icon = cv::Mat::zeros(cv::Size(32, 32), CV_8UC4);icon(Rect(8, 8, 16, 16)).setTo(Scalar(255, 255, 0,255));imwrite("F:\\icon.png", icon);根据已有的图片生成透明图片 cv::Mat srcImg = cv::imread("ico.png"); int rows = srcImg.rows; int cols = srcImg原创 2020-07-22 10:00:08 · 1203 阅读 · 0 评论 -
【数字图像处理】 第十一章 表示和描述 【未完待续】
参考文章:《数字图像处理》第12讲——图像表示与描述【opencv】经典的细化提取骨架理论及源代码原创 2020-07-20 16:21:38 · 155 阅读 · 0 评论 -
OpenCV 图像的集合和逻辑操作
1. bitwise_and(A和B的交集)/** @brief computes bitwise conjunction of the two arrays (dst = src1 & src2)Calculates the per-element bit-wise conjunction of two arrays or anarray and a scalar.The function cv::bitwise_and calculates the per-element bit-原创 2020-07-18 12:07:59 · 1022 阅读 · 1 评论 -
【数字图像处理(第三版)】 第三章 灰度变换与空间滤波
1. 基本灰度变换函数图像反转对数变换伽马变换2. 分段线性变换函数对比度拉伸灰度级分层比特平面分层原图地址:https://images0.cnblogs.com/blog2015/442754/201507/041739471417260.jpg代码:void generateBitImg(cv::Mat srcImg, int iMaxVal, int iMinVal){ cv::Mat dstImg; srcI...原创 2020-07-17 15:37:55 · 381 阅读 · 0 评论 -
OpenCV 直方图
转载自:https://blog.csdn.net/zhu_hongji/article/details/81663161一、直方图概述(Histogram Overview) 在统计学中,直方图是一种对数据分布情况的图形表示,是一种二维统计图表,他的两个坐标分别是统计样本(图像、视频帧)和样本的某种属性(亮度,像素值,梯度,方向,色彩等等任何特征)。 也可以这么理解,直方图是对数据的统计,并把统计值显示到事先设定好的bin(矩形条)中,bin中的数值是从数据中计算出...转载 2020-07-15 15:19:08 · 280 阅读 · 0 评论 -
【数字图像处理(第三版)】 第六章 彩色图像处理
1. 彩色模型RGB彩色模型:主要是面向硬件的模型。计算机中通用的颜色为216种颜色,216种稳定色中RGB的值分别为:0,51,102,153,204,155;这样6*6*6=216种颜色。CMY和CMYK彩色模型:大多数在纸上沉积彩色颜料的设备,如彩色打印机或复印机,要求输入CMY数据;或者在内部进行RGB到CMY的转换。CMY彩色模型主要用于产生硬拷贝输出,因此从CMY到RGB的反向操作通常没有实际意义。HSV彩色模型:面向用户的彩色模型,在图像处理中多用该彩色模型。色调H:用角度度量原创 2020-07-15 14:51:02 · 881 阅读 · 0 评论 -
图像的几何矩
针对于一幅图像,我们把像素的坐标看成是一个二维随机变量,那么一幅灰度图像可以用二维灰度密度函数来表示,因此可以用矩来描述灰度图像的特征。参考:https://www.cnblogs.com/wyuzl/p/7846384.html...转载 2020-04-11 15:06:02 · 200 阅读 · 0 评论 -
OpenCV 相机标定和图像矫正实例演示
本文主要记录相机标定的代码实现,关于相机标定的原理可以参考:https://blog.csdn.net/weixin_43843780/article/details/89294131本文相机标定的照片采用OpenCV提供的图片,位置:...\opencv\opencv\sources\samples\data中left01~left14.jpg相机标定在OpenCV中实现的主要步骤为:...原创 2020-04-03 16:32:06 · 2249 阅读 · 0 评论 -
OpenCV 创建Mat对象(新建图像)
//整理创建Mat的方法 //1. 使用Mat()构造函数构建 /** @overload @param rows Number of rows in a 2D array. 二维数组的行数,又图像的高度 @param cols Number of columns in a 2D array. 二维数组的列数,又图像的宽度 @param type Array type. Use ...原创 2020-04-01 10:27:34 · 1966 阅读 · 0 评论 -
OpenCV 图像像素高效遍历方法
在开始寻找高效遍历方法之前,先来了解一下Mat对象的数据组织形式与像素块数据的存储方式,Mat对象由两个部分组成,元数据头部加像素数据块部分,图示如下:在OpenCV C++中Mat对象的内存管理由OpenCV框架自动负责内存分配与回收,基于智能指针实现内存管理。直接获取Mat对象的像素块的数据指针,基于指针操作,实现快速像素方法,代码实现如下:voidmethod_3(Mat...原创 2020-04-01 10:57:58 · 1337 阅读 · 0 评论 -
OpenCV 拉普拉斯变换Laplacian()函数
拉普拉斯变换,采用二阶导数来进行边缘检测,拉普拉斯算子的定义为:所以内核为原创 2020-03-28 15:56:39 · 962 阅读 · 0 评论 -
OpenCV 实例:二值图像分析案例2-检测数量和缺失位置
目标:检测工具盒中工件的个数及缺失工件的位置。思路:灰度转换,形态学处理,二值化,轮廓处理,拟合圆,位置分析等。代码:// CountElement.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include <iostream>#include <opencv2/openc...原创 2020-02-27 11:23:17 · 1151 阅读 · 0 评论 -
OpenCV 文档:minArearect()
该函数计算并返回指定点集的最小区域边界斜矩形。RotatedRect minAreaRect(InputArray points)points:输入信息,可以为包含点的容器(vector)或是Mat。返回包覆输入信息的最小斜矩形,参数有最小外接矩形的中心center,(宽度,高度),旋转角度等。绘制最小斜矩形的方法如下: Point2f rectVertex[4]; ...原创 2020-02-27 10:51:33 · 2463 阅读 · 1 评论 -
OpenCV 文档:霍夫圆变换
参考:https://blog.csdn.net/dcrmg/article/details/52506538霍夫圆变换的基本思路是认为图像上每一个非零像素点都有可能是一个潜在的圆上的一点,跟霍夫线变换一样,也是通过投票,生成累积坐标平面,设置一个累积权重来定位圆。在笛卡尔坐标系中圆的方程为: 其中(a,b)是圆心,r是半径,也可以表述为:即所...原创 2020-02-27 09:21:23 · 211 阅读 · 0 评论 -
OpenCV 文档:霍夫线变换
霍夫线变换OpenCV 提供三种不同的霍夫线变换分别是:标准霍夫变换(Standard Hough Transform, SHT)、多尺度霍夫变换(Multi-Scale Hough Transform, MSHT)和累计概率霍夫变换(Progressive Probabilistic Hough Transform, PPHT)。其中多尺度霍夫变换(MSHT)为经典霍夫变换(SHT)在多尺度...原创 2020-02-26 17:34:02 · 341 阅读 · 0 评论 -
OpenCV 常用网址和基础知识
1. OpenCV官网:https://opencv.org/2. OpenCV在线文档(Online documentation):https://docs.opencv.org/3. OpenCV 3.4.3版本的文档:https://docs.opencv.org/3.4.3/包含介绍,OpenCV教程,OpenCV-python教程等4. OpenCV 3.4.3版本教程:...原创 2020-02-26 17:02:47 · 2489 阅读 · 0 评论 -
OpenCV 实例:图片上创建文字DrawText
图片上生成文字:void putText( InputOutputArray img, const String& text, Point org, int fontFace, double fontScale, Scalar color, int thickness = 1, int...原创 2020-02-26 10:05:22 · 1531 阅读 · 0 评论 -
OpenCV 实例:形态学算法直观演示
下图为工具盘,以此看下各形态学算法的结果 原图 OTSU计算的二值化图对二值化图进行各形态学算法处理:1. 腐蚀:AB...原创 2020-02-25 17:14:15 · 345 阅读 · 0 评论 -
OpenCV 实例:二值图像分析案例1
统计下图中的对象个数主要方法:高斯滤波函数,Canny边缘检测函数,形态学闭运算,寻找并绘制轮廓等。原文来自公众号:OpenCV学堂 gloomyfish结果:代码:Mat srcImage = imread("1.jpg");namedWindow("原始图");imshow("原始图", srcImage);Mat gaussImage;Gauss...原创 2020-02-25 16:19:21 · 548 阅读 · 0 评论 -
OpenCV 生成检测图片
主要方法:1. Mat::zeros()创建空图片2. 获取ROI区域 Mat ROIImage = SRCImage(Rectangle(x,y,width,height));3. 为ROI区域设置像素参考:https://blog.csdn.net/Apple_Coco/article/details/94334105代码:Mat RedHorImage = Mat:...原创 2020-02-24 17:11:12 · 413 阅读 · 0 评论