- 博客(19)
- 收藏
- 关注
原创 第三章 灰度变换与空间滤波(2)
滤波一词借助于频域处理。低通滤波器的最终效果是模糊(平滑)图像,也可以使用空间滤波器(也成为空格键掩模、核、模板和窗口)直接作用于图像本身而完成类似的平滑。空间滤波机理空间滤波器由一个领域(典型的是一个较小矩形),对该领域包围的图像像素执行的预定义操作组成。滤波产生一个新像素,该像素的坐标等于领域中心的坐标,像素的值是滤波操作的结果。滤波器的中心访问输入图像中的每个像素,就生成了处理后的图像。如果在图像上执行的是线性操作,则该滤波器称为线性空间滤波器。否则为非线性空间滤波器。import nu
2021-01-12 12:35:17 223
原创 第三章 灰度变换与空间滤波(1)
一,基本的灰度变换函数图像增强常用的三类基本函数:线性函数(反转和恒定变换)、对数函数(对数和反对数函数)和幂律函数(n次幂和n次根变换)。恒等函数是最一般的情况,其输出灰度等于输入灰度的变换。1.1图像反转:如图所示的反转函数,可得到灰度级范围为[0, L-1]的一幅图像的反转图像,该反转图像由下式给出:s = L-1-r这种类型的处理特别适用于增强嵌入在一幅图像的暗区域中的白色或灰色细节。贴别是当黑色编辑在尺寸上占主导地位时。1.2对数变换如图对数变换的通用形式为: s=c log(1+
2020-12-25 13:30:25 362
原创 二维vector传递到CUDA中实现并行计算
std::vector<std::vector>传递到CUDA中实现并行计算一、vector内存分配我们知道std::vector内存分配时连续的,但是对于二维数组或多维数组来说,内部vector不占用外部vector的空间,所以二维数组或多维数组内部每一行的内存都是连续的,外部vector存储内部vector的相关信息,也是连续的。详细内容可参考这篇博客:https://blog...
2020-01-20 08:09:30 1454
原创 VTK点云数据显示
1.直接显示点云void main(){ vtkSmartPointer<vtkPoints> m_Points = vtkSmartPointer<vtkPoints>::New(); vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New();...
2019-10-04 09:37:07 5347
原创 VS2017配置使用python3.7的matplotlib
1.下载matplotlib相关文件,主要包括matplotlibcpp.h以及示例。https://github.com/lava/matplotlib-cpp2.配置VS相关属性,主要包括头文件以及.lib文件附件包含路径(根据自己python的安装路径改变)C:\Python\includeC:\Python\Lib\site-packages\numpy\core\include...
2019-10-01 12:25:41 1954
原创 VTK入门 1--基础学习
一、VTK简介Vtk,(visualization toolkit)是一个开源的免费软件系统、跨平台、支持并行处理,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。二、VTK应用VT...
2019-09-18 12:48:49 1908
原创 Halide简介
Halide是用C++作为宿主语言的一个图像处理相关的DSL(Domain Specified Language)语言,全称领域专用语言。主要的作用为在软硬层面上(与算法本身的设计无关)实现对算法的底层加速,我们有必要对其有一定的了解。因为不论是 传统的图像处理方法亦或是深度学习应用 都使用到了halide的思想。来自 https://www.codercto.com/a/67796.html...
2019-08-23 09:39:12 14454 3
原创 OpenCV学习--数据结构与基本绘图
一、基础图像容器Mat 为解决复制开销大的问题,OpenCV引用计数机制。其思路是让每个Mat对象有自己的信息头,但共享同一个举证。通过矩阵指针指向同一地址,拷贝构造函数只复制信息头与矩阵指针,而不复制矩阵。注:由于多个对象都指向同一个也是唯一一个矩阵,通过任一对象对矩阵修改也会影响替他对象。同时也可以创建只引用部分数据的信息头,比如创建感兴趣区域(ROI)。Mat D(A, Rect(10,...
2019-08-01 14:39:00 144
原创 windows安装Halide
https://github.com/halide/Halide/releases下载Halide压缩包,解压添加环境变量,C:\Opencv3.4\halide\Debug;C:\Opencv3.4\halide\Release①Linker>general>Adiditional Library DirectoriesreleaseC:\lib\halide\Releas...
2019-07-19 11:43:01 1535
原创 Python中数组和列表切片操作
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。列表(List)创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。list1 = [‘physics’, ‘chemistry’,...
2019-07-19 11:40:46 904
原创 OpenCV学习--基于OpenCV的边缘检测
本节主要学习Opencv中边缘检测的各种算子和滤波器--Canny算子、Sobel算子、Laplacian算子以及Scharr滤波器
2019-06-28 13:29:01 1173
原创 Opencv--尺寸调整(resize)
图像的尺寸调整,如放大或者缩小图像,我们可以用到cv2.resize函数,该函数可以将原图像精准的转换为目标图像大小。Python: dst = cv.resize( src, dsize[, dst[, fx[, fy[, interpolation]]]] )src 输入图像,源图像dst 输出图像,当dsize!=0时,大小为dsize,当dsize=0时,根据f...
2019-06-18 15:28:18 5760
转载 Makefile-教程
一、关于程序的编译和链接在此,我想多说关于程序编译的一些规范和方法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。 编译时,编译器需要的是语法的正确,函...
2019-06-17 15:57:07 4889
原创 Opencv学习--漫水填充算法
一、漫水填充定义漫水填充(Flood Fill)法是用特定的颜色填充联通区域,通过设置可联通像素的上下限以及联通方式来达到不同的填充效果的方法。主要用来标记和分离图像的一部分以便对其进一步处理和分析。也可以用来从输入图像获取掩码区域,掩码会加快处理过程,或只处理掩码指定的像素点。所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,这是个非常有用的功能,经常用...
2019-06-17 15:48:31 763
原创 Opencv学习-透视变换(几何变换)
透视变换上篇讲到仿射变换,但是仿射变换不能矫正一些变形,如矩形区域的部分发生变化最终变成梯形,这时候矫正就需要用到透视变换。透视变换(Perspective Transformation),又称投影映射(Projective Mapping)、投射变换等,是三维空间上的非线性变换,可看作是仿射变换的更一般形式,简单讲即通过一个3x3的变换矩阵将原图投影到一个新的视平面(Viewing Plane...
2019-06-17 12:05:52 707
原创 Opencv学习-仿射变换与透视变换(几何变换)1
• 一、定义变换是指对图像进行拉伸、收缩、扭曲和旋转等几何操作。对于平面区域有两种方式的几何转换:一种是基于23矩阵进行的变换,被称为仿射变换;一种是基于33矩阵进行的变换,被称为透视变换。也可被称为平面变换和空间变换。因为仿射变换需要找到3个映射点,三点确定一个平面。而透视变换需要确定四个映射点,四点确定一个三维空间。• 二、Opencv中的函数定义由于Opencv中都已封装好函数,变换的...
2019-06-07 12:31:16 470
原创 形态学--morphologyEx
上篇博客写了膨胀和腐蚀能满足基本的图像处理,但是在处理灰度图或者彩色图时,需要额外的操作,这就用到函数cv2.morphologyEx()。定义opencv手册上给出的函数定义为:dst = cv.morphologyEx( src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]] )src ...
2019-05-31 08:15:05 1584
原创 图像形体学----膨胀和腐蚀
膨胀和腐蚀的功能:消除噪声,分割出独立的图像元素以及在图像中连接相邻的元素。膨胀和腐蚀膨胀是指将一些图像(或图像中的一部分区域,称为A)与核(称为B)进行卷积。核可以是任何的形状和大小,它拥有一个单独定义出来的参考点(anchor point)。多数情况下核是一个带有参考点的实心正方形或圆盘。膨胀是求局部最大值的操作。核B与图像卷积是就算核B覆盖的区域的像素点的最大值,并把这个最大值赋值给参...
2019-05-20 16:00:35 943
原创 图像二值法--Python
定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。与灰度图不同,灰度图为0-255的值。一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(Binarization...
2019-05-14 14:58:40 2706
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人