
图像视觉
文章平均质量分 90
视觉算法
zhashung0920
这个作者很懒,什么都没留下…
展开
-
基于NCC的模板匹配算法的一些补充
NCC(归一化互相关)是图像模板匹配中更为常用的一种匹配算法原创 2023-04-03 11:23:19 · 729 阅读 · 0 评论 -
图像沿列方向降维的AVX2实现讨论
图像降维/列求和的AVX实现原创 2023-01-18 16:05:19 · 423 阅读 · 0 评论 -
理解stackblur
stackblur算法介绍原创 2022-11-02 14:45:44 · 866 阅读 · 0 评论 -
OpenCV-Calibration-Detailed Description翻译
看了众多关于针孔相机模型的介绍和相关矩阵变换的推导Blog,回头发现在OpenCV同样有相关内容,并且描述的相当清晰。于是工作之便,作以翻译分享。翻译 2022-07-26 17:05:19 · 631 阅读 · 0 评论 -
理解Linemod匹配算法
理解Linemod匹配算法Linemod算法是一种基于形状的模板匹配算法,相较于历史工作,该算法通过量化梯度角度方法,利用现代计算机SIMD技术,实现更为快速的匹配。可以认为Linemod的主要工作是对原始形状匹配的加速。本文将带大家介绍Linemod原论文《Gradient Response Maps for Real-TimeDetection of Texture-Less Objects》,尽全面的介绍该算法的实现细节。Linemod算法是一种基于形状的模板匹配算法,相较于历史工作,该算法通过原创 2022-04-24 14:57:37 · 11058 阅读 · 2 评论 -
OpenCV文档Mat类Detailed Description翻译
前言在网络上有很多浏览了众多Mat类的文章,但最终求真还是回到了官方文档。因此,本人特此将OpenCV文档中Mat类Detailed Description部分进行翻译以享,并特意添加了一些个人理解,见“注:”。OpenCV文档版本为4.3.0,在线文档请点击链接。本人英文水平有限,且文档部分内容较为晦涩,因此在译文前特配有英文原文作为对照,以免翻译有误误人子弟。如有错误,望指正。翻译n-dimensional dense array class略Mat数据结构The class Mat r翻译 2022-02-22 16:11:01 · 250 阅读 · 0 评论 -
一种使用灰度值矩拟合亚像素精度圆的方法
图像矩对于图像III,位置(x,y)(x,y)(x,y)处的图像灰度值表示为I(x,y)I(x,y)I(x,y),则图像的(i,j)(i,j)(i,j)阶矩m(i,j)m_{(i,j)}m(i,j)表示为:m(i,j)=∑x∑yxiyjI(x,y)(1)m_{(i,j)}=\sum_{x}\sum_{y}x^{i}y^{j}I(x,y)\tag{1}m(i,j)=x∑y∑xiyjI(x,y)(1)比如对于m0,0=∑x∑yI(x,y)m_{0,0}=\sum_{x}\sum_{y}I(x,原创 2022-01-25 17:25:32 · 3558 阅读 · 0 评论 -
Pytorch中Resnet的代码实现解析
本文介绍Pytorch对resnet的代码实现。文章从基本框架出发,由浅入深地再介绍部分细节设计,因此建议顺序阅读。前言Resnet是最著名的CNN网络之一,残差模型也在后续网络设计中有广泛的应用。本文主要解读Pytorch的torchvision == 0.11.1模块中对Resnet的代码实现。本文假设读者已经对CNN以及Resnet的结构有一定了解。首先给大家推荐相关的优秀资源,《pytorch中残差网络resnet的源码解读》和李沐Resnet论文精读。Resnet使用直接使用Pytorc原创 2021-12-15 18:31:54 · 3366 阅读 · 0 评论 -
一维测量的一种实现
本文主要介绍一种亚像素级一维边缘检测方法。主要参考《机器视觉算法与应用(第二版)》3.7节。一维边缘定义这里建议提前阅读《数字图像处理(第四版)》3.6.1节和10.2节。我们认为在图像中从背景至目标像素灰度发生突变的位置作为边缘。针对一维边缘(图像灰度剖面),即一个灰度数值序列,我们视为一维离散函数,则认为其一阶导数的绝对值局部最大值也是二阶导数的过零点为边缘,同时我们可以通过一阶导数的符号确定其是边缘的过渡是从亮至暗还是从暗至亮。一阶导数计算如下:∂f(x)∂x=f′(x)=f(x+1)−f(原创 2021-10-18 12:28:31 · 1714 阅读 · 4 评论 -
图像直方图杂记
本文主要总结对图像直方图的使用和理解。主要包括函数使用技巧,我对直方图均衡化理解,反向投影算法等。图像直方图是分析图像的一种重要工具,它反映了一张图像灰度值的分布情况,或者解释为图像中出现某一灰度值出现的概率估计(归一化后)。更多内容建议阅读《数字图像处理》(第四版)第3.3节“直方图处理”。OpenCV与NumpyOpenCV中函数实现为cv::calcHistNumpy中函数实现为np.histogram具体函数使用建议直接阅读对应文档链接。简单的实例代码如下:org_img = np.r原创 2021-09-27 17:19:31 · 218 阅读 · 2 评论 -
反向传播(BP)算法的一种启发式理解
反向传播算法是神经网络中的经典算法,算法本身并不复杂,通过理解反向传播能够更深入的理解神经网络的工作方式。本文从一个化简∂C∂w\frac{\partial C}{\partial w}∂w∂C微分方程的思路,循序渐进地引出反向传播算法公式,注意这不是十分严格的数学推导。当使用梯度下降法时,我们需要计算∂C∂w\frac{\partial C}{\partial w}∂w∂C,再根据w=w−η∂C∂w(1)w=w-\mathrm{\eta}\frac{\partial C}{\partial w原创 2021-07-28 15:51:22 · 362 阅读 · 0 评论 -
Sobel算子杂谈
Sobel算子杂谈Sobel算子是一种数字图像处理种常用的边缘提取算子,更多基础内容可以参考冈萨雷斯版《数字图像处理》,这里不做过多介绍。基本概念Sobel算子包括检测水平变化的卷积核GxG_xGx和检测垂直方向变化的卷积核GyG_yGy。比如当选择大小为3的核时:Gx=G_x=Gx=[−101−202−101]\left[\begin{matrix}-1 & 0 & 1 \\-2 & 0 & 2 \\-1 & 0 & 1 \\\end{原创 2021-01-06 11:33:52 · 318 阅读 · 0 评论 -
自适应阈值(adaptiveThreshold)杂谈
本文主要介绍我对OpenCV自适应阈值函数-adaptiveThreshol的理解,包括如何合理设置参数大小、解释参数含义和一些注意事项等,最后对OpenCV中该部分源码浅尝辄止地一些分析。基础原理本节简单介绍自适应阈值的原理,建议直接阅读冈萨雷斯《数字图像处理 第四版》10.3.7.1节-“基于局部图像性质的可变阈值处理”,以下内容大致摘自于此。令mxym_{xy}mxy和σxy\sigma_{xy}σxy是图像中以(x,y)(x,y)(x,y)为中心的邻域SxyS_{xy}Sxy所包含像素集原创 2021-06-25 20:39:39 · 3703 阅读 · 0 评论