- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 基于pytorch的softmax分类器
一、概述本文在pytorch的框架下,基于softmax分类器的原理,给出softmax分类器的源码,实现图像的分类。结合代码阐述神经网络的搭建过程,用测试集检验神经网络的训练结果,最后在本文末给出全部代码。二、softmax分类器的搭建1、下载数据集import numpy as npimport torchfrom torch.utils.data import DataLoader,Datasetfrom torchvision import transformsimport gzip
2021-05-28 00:07:50 2188
原创 线性判别分析(LDA)的Pytorch实现
一、概述定性阐述LDA原理,并给出LDA的推导过程,最后结合代码给出LDA实际应用案例。在本文最后给出Python的全部代码。二、线性判别分析(LDA)的原理
2021-05-18 21:38:40 1513
原创 基于pytorch的logistic回归从零开始实现
一、概要搭建基于logistic模型的神经网络,完成对数据的二分类。本文将结合代码阐述搭建过程,最后给出完整代码以及运行结果。二、神经网络搭建步骤1、生成数据集在这里插入代码片
2021-05-08 16:05:19 1890
原创 高斯型随机粗糙面MATLAB仿真
一、概要一般可认为随机粗糙表面高度可由许多不同频率的谐波叠加而成,因此可采用线性滤波法来生成随机粗糙面:先在频域谱进行滤波,然后进行逆傅里叶变换得到粗糙面高度,来生成模拟随机粗糙面模型。本文将基于上述原理,给出仿真步骤以及仿真结果。...
2021-05-01 22:07:14 10381 10
原创 基于Pytorch的线性回归从零开始实现
一、概述搭建基于线性回归模型的神经网络,结合代码阐述搭建步骤,最后给出全部代码以及运行结果二、搭建步骤1、生成数据集num_inputs=2num_examples=1000true_w=[2,-3.4]true_b=4.2features=torch.tensor(np.random.normal(0,1,(num_inputs,num_examples)))labels=true_w[0]*features[0,:]+true_w[1]*features[1,:]+true_bplt
2021-05-01 21:54:12 146
原创 深刻理解RGB色彩空间与HSI色彩空间的转换关系
一、概要本文先给出色调、饱和度和亮度的定义,然后将其量化,利用空间解析几何推导出RGB色彩空间与HSI色彩空间的转换关系,并给出实现这一转换的代码,同时给出OpenCV的标准转换算法。二、色调、饱和度及亮度的定义三、RGB色彩空间与HSI色彩空间转换关系的推导四、算法实现及分析基于以上推导,利用C++实现RGB色彩空间到HSI色彩空间的转换。输入图像如下所示:1、强度利用本文推导的强度计算公式从RGB空间中提取图像的强度,代码如下所示:#include<iostream&g
2020-08-09 13:08:55 4886
原创 利用维纳滤波对运动模糊图像进行复原
一、概要本文首先给出图像的维纳滤波器的推导过程用以补充书中缺失的证明过程,而后在C++的编译环境下,利用opencv构造维纳滤波器实现运动模糊图像的图像复原,并结合代码给出算法流程,最后在本文末给出全部代码。二、图像的维纳滤波原理三、构造退化函数这部分冈萨雷斯所著的数字信号处理第三版已经给出了建模过程,因此这里直接引用书本上给出的运动模糊函数的推导过程。如下所示:在这里应当注意:实际操作中往往会将图像的频谱中心化,因此进行图像模拟退化时所使用的退化函数也应当中心化。设原始图像大小为M·N
2020-08-04 20:55:31 10606 5
原创 图像的频域滤波(基于严格的傅里叶分析理论)
本文将基于严格的傅里叶分析理论基础给出严谨的图像频域滤波算法,并利用代码演示图像频域滤波的正确结果。一、离散傅里叶变换1.1 离散傅里叶变换的产生离散信号分析和处理的主要手段是利用计算机去实现,然而序列f(n)的离散时间傅里叶变换是频率的连续函数,并且其逆变换为积分运算无法直接用计算机实现。显然,要在计算机上完成这些变换必须要将连续函数转换为离散数据,同时将求和范围从无限宽收缩至一个有限区间。对于离散傅里叶级数,无论是在时域还是在频域,只对有限项求和,故而可以利用计算机计算。因此借助于离散傅里叶级数的
2020-07-21 22:18:40 1430
原创 利用幅度谱和相位谱重构图像
一、概要图像经过傅里叶变换后,将图像在空域中的信息映射至频域空间中。图像的频域空间包含幅度谱以及相位谱,其中幅度谱反映的是图像的灰度信息,相位谱反应的是图像的位置信息,如轮廓。本博文将基于傅里叶分析理论演示利用幅度谱与相位谱重构图像的过程,并验证幅度谱与相位谱在图像重构过程中的作用,最后在本文末给出全部代码。二、图像的傅里叶变换及其可视化首先将图像进行傅里叶变换得到图像的频谱并使其可视化。在这里应当注意傅里叶变换对是复数,因此需要构建双通道的Mat类存储复数的实部与虚部。代码的主函数部分:int
2020-07-18 21:35:23 10231 2
原创 图像的幅度谱与相位谱
图像幅度谱与相位谱的代码演示,本例使用泰勒斯威夫特的图像作为图像素材。代码如下所示:#include<iostream>#include<opencv2/opencv.hpp>#include<math.h>using namespace std;using namespace cv;Mat Magnitude(Mat Re, Mat Im);Mat Phase(Mat Re, Mat Im);int main(){ Mat src = imread(
2020-07-17 23:42:53 7447
原创 基于C++编译的车牌识别系统
一个典型的车辆牌照识别系统一般包括以下4个部分:车辆图像获取、车牌定位、车牌字符分割和车牌字符识别 。为了方便起见,这里选用网上获取的图片。具体来说车牌识别主要分为以下几个步骤:1、图像预处理,对于质量较差的图像需要进行图像增强。(在这里将会以一副动态范围较窄的图像为例演示车牌号码的提取)2、采用开运算断开较窄的狭颈和消除细的突出物,采用图像叠加(灰度图减去开操作图)突显字符等部分,随后进行...
2020-06-22 17:31:09 11004 21
原创 基于Kmeans聚类算法实现图像分割(从原理开始实现)
一、Kmeans聚类算法基本原理K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。以彩色图像为例:基于彩色图像的RGB三通道为xyz轴建立空间直角坐标系,那么一副图像上的每个像素点与该空间直角坐标系建立了一 一映射(双射)的关系。从空间直角坐标系中随机取 k 个点,作为 k 个簇的各自的中心。...
2020-03-12 15:53:55 22120 10
原创 直方图反向投影从零开始实现
一、反向投影原理参考博客原址:https://blog.csdn.net/shuiyixin/article/details/80331839二、算法流程1、截取输入图像的特征区域。2、计算图像特征区域的直方图,并归一化,亦即将直方图中的所有值限定在0至255的范围内。3、将输入图像转换为灰度图像。4、遍历输入图像的所有像素,并获得所有像素的灰度值,利用灰度值作为图像特征区域的直方图的...
2020-03-07 23:06:36 467
原创 图像直方图从零开始实现
计算图像的直方图(从零开始实现)一、算法流程实现彩色图像的BGR三个通道的直方图显示1、加载图像2、RGB三通道分离3、定义参数变量4、分别计算BGR通道的直方图5、归一化直方图数据6、绘制直方图二、代码部分主函数部分//主函数部分#include<iostream>#include<opencv2/opencv.hpp>using namesp...
2020-03-06 22:30:31 807
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人