- 博客(323)
- 资源 (17)
- 收藏
- 关注

原创 1.1基础之可视化TensorFlow
可视化是认知程序的最直观方式。基本概念 TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个web应用程序套件。TensorBoard目前只支持7种可视化,即SCALARS、 IMAGES、AUDIO、GRAPHS、DISTRIBUTIONS、HISTOGRAMS和EMBEDDINGS。SCALARS:展示训练过程中的准确率、损失值、权重/偏置的变化情况...
2020-03-05 21:54:20
1916
3

原创 4.2图像分割之区域分裂与合并
区域分裂与合并 区域生长是从一组生长点开始的,另一种方法是在开始时将图像分割成一系列任意不相关的区域,然后将它们合并或者拆分以满足限制条件,这就是区域分裂与合并。通过分裂,可以将不同特征的区域分离开,而通过合并,可以将相同特征的区域合并起来。(1) 分裂 令R表示整个图像,P代表某种相似性准则。一种区域分裂方法是首先将图像等分为4个区域,然后反复将分割得到的子图像再次分为4个区...
2018-08-05 15:20:34
21983
4

原创 OpenGL学习系列导航
简介 OpenGL学习系列是《计算机图形学(第四版)》、《OpenGL编程指南(原书第8版)》、《C++ GUI Qt4编程(第二版)》以及网络资源的学习笔记。主要内容是在Qt5.6.x上学习OpenGL,不仅编程示例,同时学习理论知识。为了避免Visual Studio有点麻烦的环境配置,使用qmake创建项目文件,只需下载源代码就能跨平台运行。 代码下载地址:https://githu...
2017-12-17 11:42:00
1630
2
原创 Volume Rendering:Front To Back and Back To Front
小朋友一直想不明白:Volume Rendering技术中Front To Back and Back To Front区别。
2025-03-11 16:33:16
252
原创 half-angle slicing半角切片技术
体渲染(volume rendering)算法包括ray casting、Texture-based technique等。今天介绍Texture-based technique里的half-angle slicing技术。首先理解阴影的本质,光照被其他体素遮挡了。网上的代码有误,修正后代码在。
2024-01-06 14:21:17
672
原创 Visual Studio 配置DLL
我们在用Visual Studio进行开发时,如果没有正确配置DLL,就会出现类似“丢失***.dll”的错误。DLL配置有哪些方法?
2023-12-29 13:07:35
2234
原创 程序员如何高效成长
这是我在公司培训的讲义,分享了程序员如何高效成长的秘密。一小时价值5万的培训资料,现在分享给大家。你经常在网上看到类似《20 年老程序员告诉你的 20 条编码原则》这样的文章,看了很多却依然成为不了一个优秀的工程师。你肯定遇到个别特别厉害的同事,他们每次都能高质量完成开发任务,最重要的是BUG很少。他们会给你很多建议,你照着做却依然原地踏步。为什么这么努力还是不能变得更优秀?其实这些文章我也浏览过,说实话都是:道理都是对的。就好像武侠里你光知道武功的招式,不知道武功内功心法,是成不了武林高手的。
2022-12-18 09:19:57
420
原创 一种二值图像封闭孔洞的高效填充算法
首先,我们先定义何谓封闭孔洞?我们认为如果一个特征的边缘完全被另外一个特征包围,则认为其为一个封闭的特征,比如在下图中:1所标注处就是封闭孔洞,2所标注处就是开式孔洞。我们第一直觉,想到的就是用FloodFill。漫水填充法是一种常见的图像处理方法,通过选中和种子点相连相近的区域,将其转换为指定颜色,以达到标记或者分离图像的目的,进而完成对图像的一些分析和处理。不过如果直接用FloodFill,我们无法直接定位那些未知需要进行种子填充的。
2022-11-29 19:04:12
1470
原创 图像去噪之自适应维纳滤波
大多数去除加性噪声的自适应图像复原算法流程:根据噪声图像和先验知识,我们能够使用一些基于滤波图像的局部细节方法。其中一个方法就是局部方差。随空间变化的滤波器h(n1,n2)是由图像局部信息和附加先验知识决定的函数。基于局部图像信息的特殊的方法改进了算法,空变滤波器h(n1,n2)是由图像局部信息和可获得的先验知识决定的函数。在9.2.1节讨论了一种自适应的维纳滤波器。下面很重要,解释从9.26公式如何到Matlab的形式。
2022-11-25 19:05:37
2389
原创 最优化算法之粒子群算法PSO
粒子群算法(PSO)属于群智能算法的一种,1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究。该算法是通过模拟鸟群捕食行为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了最优解,即问题收敛。
2022-11-23 15:52:55
1324
原创 一种具有肤质保留功能的磨皮算法
1、复制原图Src作为HighPass层:HighPass = Copy(Src)。2、对HighPass层磨皮(就是进行保边滤波,可以选择表面模糊、导向滤波、双边滤波、各向异性扩散、BEEP、局部均方差、Domain transfer、 Adaptive Manifolds、 Local Laplacian Filters等任何具有保边效果的EPF-Filter):HighPass = EPF-Filter(HighPass)。
2022-11-22 19:26:54
677
原创 第一集:债基大跌,小姐姐别哭,可以这样做
你懂的,为啥跌这么多,以后远离。小姐姐骂人了,银行理财一天跌了5000。支付宝里很多人也骂债基经理,债基不是固收产品,怎么还亏钱。这几天债基连续大跌,市场又一次教育大家:债基是会亏钱的。我在2020年年初遇到债基熊市,也和大家一样,慌得一笔呀。好在,大家处于一个好时代,不懂就上网学习。久期会更长,市场每调整一个点,亏损是中短债的两三倍,需要硬抗很长时间才能回本。这是《我的家庭理财日常》系列的第一集,就先说到这里,最后简单分享下,我的家庭理财计划。下一集预告,我是怎么在大跌前,清空债基的?
2022-11-20 11:50:34
302
原创 一种新颖的保边滤波——Sub Window Filtering
分享2019 CVPR的一篇图像滤波算法论文。这个算法的新颖之处在于:不管传统的滤波器保不保边,运用了Side Window后都可以保边。
2022-09-13 09:09:45
1996
10
原创 我的长期目标
人生愿景终身学习:不断学习,做更好的自己长期主义:做有长期收益的事情,比如写作与投资积极分享:分享个人经验长期目标(2020-2030)财务管理投资(年化收益率达 10% 以上)微博:东方芒格 记录投资策略被动收入占50%以上写作+投资+副业健康的家庭财务微博:东方芒格 记录家庭财务管理常识职业规划技术分享更多图像处理技术和项目先写这么多...
2022-05-11 09:35:27
599
1
原创 ITK像素访问
介绍如何访问像素,以及根据图像内存创建ITK图像类灰度图像访问像素通常创建一个灰度图像,展示如何访问像素//new a 3D image based on unsigned short pixel typedef itk::Image<unsigned short, 3> ImageTpye; ImageTpye::Pointer image = ImageTpye::New(); //define image type index ImageTpye::IndexType.
2022-05-07 18:17:31
340
原创 OpenCV之YoloV4目标检测实例
基本概念加载darknet框架的YoloV4模型做目标检测。OpenCV DNN模块支持常见深度学习框架如TensorFlowCaffe、Darknet等,对应的函数:readNetFromTensorflow、readNetFromCaffe.// 加载darknet网络Net net = readNetFromDarknet(config, weights);YoloV4对应的权重和配置文件如下,下载地址。String config = "./model/yolov4.cfg";Stri
2022-05-05 19:07:45
1696
2
原创 图像分割二十年,盘点影响力最大的10篇论文(含论文和源代码)
图像分割(image segmentation)技术是计算机视觉领域的重要的研究方向,近些年,图像分割技术迅猛发展,在多个视觉研究领域都有着广泛的应用。本文盘点了近20年来影响力最大的10 篇论文。 注:这里的影响力以Web of Science上显示的论文的引用量排序,截止时间为2020年9月27日。TOP10- Mask R-CNN被引频次:1839作者:Kaiming He,Georgia Gkioxari,Piotr Dollar,Ross Girshick.发布信息: 2017,16t.
2022-04-07 08:23:20
2402
原创 S-Transform
基本概念傅里叶变换只能作用于收敛信号,短时傅里叶变换的窗函数不可变,小波变换虽然窗函数可变,能进行多分辨率分析,但是其基函数选取困难;S变换介于前两者之间,结合两种方法的优势,可自适应调节分辨率且其逆变换无损可逆。S变换(ST)是地球物理学家Stockwell域1996年提出的一种时频分析方法。推导过程离散的S变换示例演示我们实现S变换和逆变换的代码,来看下变换的结果。 % codeclear all;close all;SampFreq = 1000;t = 0 : 1/SampF
2022-03-14 15:45:09
3596
13
原创 SCI-Hub论文下载可用网址链接 - 实时更新
https://sci-hub.sehttps://sci-hub.sthttps://sci-hub.st
2022-01-28 16:24:47
17341
4
原创 图像相位谱的重要性
基本概念图像的傅里叶变换,也就是二维傅里叶变换,可以将图像从空间域转到频域中,从中我们可以分别求出幅度谱和相位谱。那对于一张图片,到底是幅度谱重要,还是相位谱更重要呢?我们做个小实验,一个保持幅频不变,相位为零,另一个保持幅频常数,相位不变。%读入图像image=imread('Lena.png');%转为灰度图image = rgb2gray(image);% 傅里叶变换imageFFT=fft2(double(image));%取幅度和相位imageFFTAmplitude=abs(
2021-12-20 18:59:54
2451
6
原创 如何学习编程
最近听到一个大V在直播里讲如何学习编程,听完挺有感触的。他的核心思想是编程一定要try again,不断尝试改进。真是英雄所见略同,我也记录下自己对如何学习编程的思考。1、动手编程,不断反省编程语言本质上是一门语言。我们通过编程语言把自己的想法告诉计算机,然后计算机去执行。所以学习编程就和学习英语一样,你用的越多,你掌握的越熟练。因为你在你用的过程中,有各种问题,通过解决这些问题,让自己快速成长。2、重视基础学习任何东西,最重要的是学好基础。学习编程,也是如此,一定重视基础。有哪些基础?比如数据结构
2021-12-01 22:27:28
18127
原创 几种主要的软件架构模式
本文主要介绍了几种主要的软件架构模式。概述架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案。一种模式就是特定上下文的问题的一种解决方案。然而,很多开发者至今还对各种软件架构模式之间的差别搞不清,甚至对其所知甚少。大体上,主要有下面这几种架构模式:分层架构管道 - 过滤器架构客户端 - 服务器架构模型 - 视图 - 控制器架构事件驱动架构微服务架构分层架构模式最常见的架构模式就是分层架构或者称为 n 层架构。大部分软件架构师、设计师和开发者都对这个架构模式非常.
2021-11-21 15:49:57
595
原创 医学影像公开数据集
医学影像数据是非常珍贵的资源,收集和标注要耗费很大的人力和财力。今天这篇文章我将分享目前为止做过的医学影像诊断的一些公开数据集。1、数字视网膜图像的血管提取(DRIVE)数据库DRIVE数据库用于研究视网膜图像中的血管分割,由40组图像组成。下载地址:http://www.isi.uu.nl/Research/Databases/DRIVE/download.php2、肺图像数据库联盟(LIDC)肺图像数据库联盟(LIDC)是支持一个机构联盟制定螺旋CT肺部影像资源的共识指南,并建立螺旋CT肺部影像
2021-10-24 21:15:56
11421
4
原创 TensorFlow图像分割官方例子的常见报错
当我们看TensorFlow官网的U-net图像分割学习时,运行代码可能会遇到一些报错。下面列举了常见报错的解决方法,与大家分享。错误:下载数据失败tensorflow_datasets.core.download.downloader.DownloadError: Failed to get url http://www.robots.ox.ac.uk/~vgg/data/pets/data\images.tar.gz. HTTP code: 404.如下图所示解决方法如下图,在标记行中
2021-09-16 17:51:14
750
原创 图像处理之浮雕
基本概念浮雕就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。计算机产生浮雕效果原理与之类似,即通过勾画图像的轮廓,并且降低周围的像素值,从而产生一张具有立体感的浮雕效果图片。这里我们通过相邻元素相减的方法得到轮廓与边缘的差,从而获得凹凸的立体感觉。基本原理是将图片中像素的点与相邻点的rgb值进行相减,然后加上128,得到中间值灰色。因为相邻点基本上都是rgb比较相似的,所以相似的点的处理结果基本上临近128,而不相近颜色的值则偏离128较远,所以可以得到一个类似于浮雕的图像。
2021-09-16 17:34:31
2921
原创 Visual Studio编译Meshlab
下载源文件从官网上下载meshlab。解压后还不能立即编译,因为meshlab依赖开源库vcglib。下载vcglib后,将里面的文件解压到meshlab目录下的vcglib目录里。生成external项目点击下图圈出来的Open Qt Object File。然后选中external下的external.pro文件打开。最后编译下。打开meshlab项目和上一步骤一样,打开meshlab.pro。如果出现下面错误,例如错误 LNK2001 无法解析的外部符号 __imp_glBegi
2021-09-04 19:52:22
816
1
原创 3.2.1 体渲染之Ray Casting
基本概念光线投射方法是基于图像序列的直接体绘制算法。从图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越整个图像序列,并在这个过程中,对图像序列进行采样获取颜色信息,同时依据光线吸收模型将颜色值进行累加,直至光线穿越整个图像序列,最后得到的颜色值就是渲染图像的颜色。为什么在上面的定义是穿越 “ 图像序列 ” ,而不是直接使用 “ 体纹理 ” ?原因在于,体数据有多种组织形式,在基于 CPU 的高级语言编程中,有时并不使用体纹理,而是使用图像序列。在基于 GPU 的着色程序中,则必须使用
2021-05-23 10:05:40
2333
1
原创 模糊连接度分割
相对模糊连接度迭代模糊连接度基于尺度的亲和度基于向量场的亲和度参考资料https://github.com/joakimlindblad/FuzzConn
2021-04-07 22:00:02
573
原创 模糊连接度
概述随机性和模糊性是两种不同的不确定性,概率论用于前者,而模糊集合则用于出来后者。由于模糊集合理论能够很好地表述和处理不确定性问题,所以模糊集合理论在图像分割领域获得广泛应用。由于在模糊集合中,图像地一个像素属于一个边界点或某个区域是用一个隶属度表示的,因此这样就可以避免过早地做出明确判断,已便为更高级地处理保留尽可能多的信息。在传统集合理论中,一个元素或者属于一个集合,或者不属于一个集合。但在实际问题中,往往需要表示元素对集合从属关系的不确定性。1965年,Zadeh提出模糊数学的概念,用来描述这种带
2021-04-07 21:56:14
1082
14
原创 目标跟踪之Camshift
基本概念camshift("continuously adaptive mean-shift"的缩写),即连续自适应的 算法。其基本思想是对视频序列的所有图像帧都作MeanShift运算,并将上一帧的结果(即搜索窗口的中心位置和窗口大小)作为下一帧MeanShift算法的搜索窗口的初始值,如此迭代下去。简单点说,meanShift是针对单张图片寻找最优迭代结果,而camShift则是针对视频序列来处理,并对该序列中的每一帧图片都调用meanShift来寻找最优迭代结果。正是由于camShift针对一个视频
2021-04-05 19:58:26
1044
原创 图像分割之分水岭分割算法
基本思想分水岭(watershed)是地形学中的一个经典概念,例如美国落基山脉分水岭,将美国分为两个区域,落在这个分水岭一边的雨滴,最终会到达大西洋,但是落在另一边的雨滴,最终回流到太平洋。为了提取分水岭,人们提出了各种各样的算法,在这些算法中,Vincent和Soille提出了一种基于模拟沉浸的实现方法。在图像处理领域,灰度图像可以被视为地形表面,图像中每个像素的灰度代表这点的高度,其每一个局部极小值(local minima)及其影响区域成为集水盆地(catchments basin)。这样分水岭便被
2021-04-05 16:51:44
987
2
原创 图像分割之最大熵阈值分割
最大熵阈值分割法和OTSU算法类似,假设将图像分为背景和前景两个部分。熵代表信息量,图像信息量越大,熵就越大,最大熵算法就是找出一个最佳阈值使得背景与前景两个部分熵之和最大。基本原理频率和概率直方图每个矩形框的数值描述的是图像中相应灰度值的频率。因此,可以说直方图是一种离散的频率分布。给定一个大小为M*N的图像I,直方图中所有矩形框所代表的数值之和,即为图像中的像素数量,即:相对应的归一化直方图表示为:0<=i<K 通常被解释为一个随机过程的概率分布或概率密度函数,表示的是图像中.
2021-04-03 11:11:36
5409
1
原创 CMake之建立多模块工程
在Windows下, 用CMake和Visual Studio建立一个包含多个模块的工程,其中有静态库和动态库。多工程本方案由一个可执行文件和一个静态库和一个动态库构成,可执行文件调用了这两个库文件,可执行文件和动态库最后生成在bin目录下,静态库生成在libs目录。目录结构├── bin├── build├── CMakeLists.txt├── libs└── src ├── CMakeLists.txt ├── libdynamic │ ├── CMak.
2021-04-03 10:32:55
3114
1
原创 CMake之建立简单工程
最简单的例子目录结构.├── CMakeLists.txt└── main.cppmain.cpp#include <iostream>int main(){ std::cout <<"Hello World" << std::endl; return 0;}CMakeLists.txtPROJECT (SimpleExample)SET(SRC_LIST main.cpp)MESSAGE(STATUS "This is BI
2021-04-03 09:50:19
473
原创 图像锐化算法sharpen
基本概念图像锐化是使图像边缘更加清晰的一种图像处理方法。常用的做法是提取图像的高频分量,将其叠加到原图上。图像高频分量的提取有两种做法:一种是用高通滤波器得到高频分量;另一种是用低通滤波器得到低频,然后用原图减去低频得到高频。直接提取高频的方法有sobel算法、laplcian算子,sobel算子是图像的一阶导数,提取的是梯度信息,分水平和垂直两种,常常用来做边缘检测、方向判别,sobel算子在斜坡处不为0,因此会产生较粗的边缘。laplcian算子是图像的二阶导,在图像开始变化和结束变化的地方值不为
2021-03-28 15:32:01
1543
原创 均值漂移滤波
基本原理前面我们学习了均值漂移算法。这里介绍下均值漂移不连续性保持滤波。设xi是d维原始图像中的点1、对于每个图像像素xi,初始化步数j=1,yi,1=xi。2、计算yi,j+1,直到收敛于yi,con。3、在xi处滤波后的像素值被赋值为收敛点 yi,con的像素值示例演示OpenCV提供了pyrMeanShiftFiltering。void pyrMeanShiftFiltering(InputArray src, OutputArray dst, double sp,
2021-03-28 15:27:33
1062
Debugging Tools for Windows
2017-09-03
基于Qt的VTK应用程序代码
2017-07-16
Microsoft Visual C++ 2010 Redistributeble
2016-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人