- 博客(14)
- 资源 (19)
- 收藏
- 关注
原创 OpenCV学习12_霍夫变换与重映射
一、霍夫变换在图像处理和计算机视觉领域中,如何从当前的图像中提取所需要的特征信息是图像识别的关键所在。在许多应用场合中需要快速准确地检测出直线或者圆。其中一种非常有效的解决问题的方法是霍夫(Hough)变换,其为图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。最基本的霍夫变换是从黑白图像中检测直线(线段)。本部分就将介绍OpenCV中霍夫变换的使用方法和相关知识。1.1 霍夫线变换我们知道,霍夫线变换是一种用来寻找直线的方法,在使用霍夫线变换之前,首先要对图像进行边缘检测.
2020-11-29 11:55:23 302
原创 OpenCV学习11_边缘检测
本部分,我们将一起学习OpenCV中边缘检测的各种算子和滤波器-Canny算子、Sobel算子、Laplacian算子以及Scharr滤波器。一、边缘检测步骤在具体介绍之前,先来一起看看边缘检测的一般步骤。1.【第一步】滤波边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有高斯滤波,即采用离散化的高斯函数产生一组归一化的高斯核,然后基于高斯核函数对图像灰度矩阵的每一点进行加权求和。2.【第二步】增强
2020-11-28 18:13:28 897
原创 OpenCV学习10_图像minmap与阈值化
一、图像金字塔(minmap)我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果要放大或者缩小图片的尺寸,笼统来说,可以使用OpenCV提供的如下两种方法。resize函数。这是最直接的方式pyrUpo), pyrDown()函数。即图像金字塔相关的两个函数,对图像进行向上采样和向下采样的操作。pyrUp、pyrDown其实和专门用作放大缩小图像尺寸的resize在功能上差不多,披着图像金字塔的皮,说白了还是在对图像进行放大和缩小操作。另外需要指出的是, pyrUp, pyrDown在Ope.
2020-11-28 11:50:55 503
原创 OpenCV学习09_图像漫水填充
一、基本思想所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色 ,这是个非常有用的功能,经常用来标记或者分离图像的部分进行处理或分析。漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或者只处理掩码指定的像素点。以此填充算法为基础,类似PhotoShop的魔术棒选择工具就很容易实现了。漫水填充(FloodFill)是查找和种子点连通的颜色相同的点,魔术棒选择工具则是查找和种子点连通的颜色相近的点,把和初始种子像素颜色相近的点压进栈做为新种子。在OpenCV
2020-11-23 23:23:41 440
原创 OpenCV学习08_形态学滤波
形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中的形态学,往往指的是数学形态学。下面一起来了解数学形态学的概念。数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等。简单来讲,
2020-11-22 22:22:32 549
原创 OpenCV学习07_图像线性与非线性滤波
图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段,而在较高频段,有用的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。图像滤波的目的有两个:一个是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。而对滤波处理的要求也有.
2020-11-21 23:05:59 626
原创 OpenCV学习06_离散傅里叶变换
一、时域和频域1.1 时域 时域(时间域)——自变量是时间,即横轴是时间,纵轴是信号的变化。其动态信号x(t) 是描述信号在不同时刻取值的函数。图1是正弦波的时域图,示出了振幅与时间的关系。在时域图中,横轴是时间,纵轴是振幅。时域图显示振幅随时间的变化,可以看出峰值振幅为5V,可以算出频率f=6 Hz。1.2 频域 频域(频率域)——自变量是频率,即横轴是频率,纵轴是该频率信号的幅度,也就是通常说的频谱图。下面是图文讲解:图2是图1中正弦波的频域图。在频域图中,横轴是频率,纵轴
2020-11-21 12:32:00 1300
原创 OpenCV学习05_图像混合与对比度、亮度调整
一、图像混合1.1 ROI线性混合1.1.1 ROI在图像处理领域,我们常常需要设置感兴趣区域(ROI, region of interest),来专注或者简化工作过程。也就是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点。我们圈定这个区域,以便进行进一步处理。而且,使用ROI指定想读入的目标,可以减少处理时间,增加精度,给图像处理来带不小的便利。定义ROI区域有两种方法:第一种是使用表示矩形区域的Rect,它指定矩形的左上角坐标(构造函数的前两个参数)和矩形的长宽(构造函数的后两个参数
2020-11-19 23:52:50 460
原创 OpenCV学习04_core组件入门及颜色空间缩减与访问
一、core组件入门1.1 ellipse()函数//-------------------------------【DrawEllipse( )函数】--------------------------------// 描述:自定义的绘制函数,实现了绘制不同角度、相同尺寸的椭圆//-----------------------------------------------------------------------------------------void DrawEllipse(Ma
2020-11-17 23:32:39 267 1
原创 OpenCV学习03_HighGUI图形用户界面
一、图像的载入、显示和输出到文件1.1 Mat类简析Mat类是用于保存图像以及其他矩阵数据的数据结构,默认情况下其尺寸为0,我们也可以指定其初始尺寸,比如定义一个Mat类对象,就要写cv:Mat pic(320,640,cv:Scalar(100) );1.2 图像的载入与显示在OpenCV中,最简单的图像载入和显示只需要两句代码,非常便捷。这两句代码分别对应了两个函数,它们分别是imread()以及imshow()。1.2.1 imread()函数首先来看imread函数,其用于读取文件中的.
2020-11-15 19:10:04 496
原创 OpenCV学习02_图像与视频的基本处理
一、图像处理#include <opencv2/highgui/highgui.hpp> //highgui模块头文件#include <opencv2/imgproc/imgproc.hpp> //图像处理头文件1.1 腐蚀如何用OpenCV实现最基本的形态学运算之–腐蚀,即用图像中的暗色部分“腐蚀”掉图像中的高亮部分。int main(){ //载入原图 Mat srcImage = imread("F:\\CV\\LearnCV\\files\\mal
2020-11-15 11:17:44 358
原创 OpenCV学习01_VS17+Win10环境配置
今天开始,不间断学习下OpenCV对图形的处理。一、下载opencv安装包1.1 官网下载官网地址:https://opencv.org/releases/选择对应版本的cv文件,下载即可(注:外网下载很慢可镜像下载或到我的资源中下载我下载好的opencv-3.4.1-vc14_vc15.exe文件)。二、安装OpenCV双击下载好的或者拷好的安装包,选择解压路径后点Extract即可完成解压,解压后会自动生成一个opencv的文件夹,如下图:三、配置系统变量(WIN10)3.1 我的电
2020-11-14 23:35:12 217
原创 Vulkan_基于子通道带前向透明的延迟渲染
延迟渲染具体概念就不具体详述了,有兴趣的可以知乎一堆,我们本部分主要基于Vulkan_输入附件与子通道的理论基础上来实现延迟渲染并且在整个场景基础上使用透明通道来解决延迟渲染中正向的透明。一、Vulkan理论基础许多图形api在每帧上有多个通道,或者可以将渲染细分为多个逻辑阶段。vk也是将此引入其核心操作,提供单个对象,用于多通道渲染。我们首先来熟悉下创建渲染通道时的结构体:typedef struct VkRenderPassCreateInfo { VkStructureType
2020-11-09 00:48:26 865 1
原创 Graphics_过度绘制(OverDraw)优化
本文主要参照《Real-Time Rendering》相关内容。early-z、z-cull、hi-z、z-perpass这四种技术本质上都是解决传统渲染管线中的同一个问题——过度绘制(OverDraw) 。一个经典的渲染管线通常会依次经历顶点阶段、光栅化、片元阶段和逐像素处理。其中片元阶段会进行复杂的光照计算,是整个管线的性能瓶颈。而在逐像素阶段会对计算出来的片元值进行各种测试以判断这个片元会不会最终显示到屏幕上。这就带来了一个矛盾:明明我在片元阶段花费了最大的力气计算出结果,但马上的逐像素阶段就可能将
2020-11-03 22:14:04 797
体积光照明算法 Physically-Based Volumetric Light Scattering
2022-03-13
Real-Time GI Using OpenGL & VXGI.pdf
2021-12-06
NURBS曲线与曲面C++源代码
2021-07-09
Meshsimplify_C#.rar
2019-07-19
CMake3.11.zip
2019-06-28
C#、VB、IL反编译工具_ILSpy_Master(最新).rar
2019-06-12
RevitLookup-2019源码
2019-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人