自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 直方图均衡的C++实现方法

直方图均衡的C++实现方法一. 原理灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数,即h(k)=nk(k=0,1,⋯ ,L−1)h(k)=n_k\quad (k=0,1,\cdots,L-1)h(k)=nk​(k=0,1,⋯,L−1),其中LLL为图像的灰度级数。直方图均衡的目的是将图像的直方图修正为均匀分布形式(离散分布做不到完全均匀,但可以接近),增加像素灰度值的动态范...

2020-04-03 17:02:51 2159

原创 PNG文件的结构

PNG格式文件分析一. 概述PNG(Portable Network Graphics,便携式网络图形)是一种非常常见的图像存储格式,诞生于20世纪90年代,其设计目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。除了多数人所熟知的PNG支持透明背景这一特性,PNG格式更为重要的一点是其能在保证无损压缩的前提下,将文件体积减小到最小,此外对灰度图像和彩色图像分别...

2020-03-29 13:51:56 5184 2

原创 主成分分析(PCA)及其MATLAB的实现方法

说明:下文中,粗斜体字母均表示矩阵(如A\boldsymbol AA);为不引起歧义,列向量也均加箭头表示(如a⃗\vec aa)概述PCA的目的假设现在有这样一个情景:现在要统计并可视化分析男大学生体测成绩,如果只参考立定跳远和1000m成绩两项指标,我们可以以立定跳远成绩作为xxx轴,1000m成绩作为yyy轴做出散点图,每个点代表一个学生;若统计三项指标,我们也可以在三维空间中做出...

2020-02-23 13:39:59 15501 8

原创 论文笔记:DEPTS: Deep Expansion Learning for Periodic Time Series Forecasting

本论文设计了一种名为DEPTS的深度学习框架,可以建模并预测周期性时间序列,并取得了较好的结果。

2022-09-20 16:16:51 774 1

原创 论文笔记:Do We Really Need Deep Learning Models for Time Series Forecasting?

传统的时间序列预测模型往往依赖于滚动平均、向量自回归和自回归综合移动平均;较新的模型包括深度学习和矩阵分解模型,获得了更具竞争力的性能,但是该类模型往往过于复杂。近几年,基于复杂深度学习的模型,例如“DeepGlo”或“LSTNet”被提出,性能上优于传统方法(例如ARIMA)和简单的机器学习模型(例如GBRT)。但是对于时序预测而言,如果对输入输入结构进行精心的设计和特征工程,即便是如GBRT这样的简单的集成模型,性能上也能超越很多DNN模型。

2022-09-06 17:50:44 1516 1

原创 Windows 10微软拼音中添加自定义短语

Windows 10微软拼音中添加自定义短语Windows设置 > 时间和语言 > 边栏选择语言 > 首选语言下选择中文(简体, 中国) >选项 >键盘选项下选择微软拼音 >选项 > 词库和自学习 > 用户自定义的短语 > 添加或编辑自定义短语...

2021-01-18 13:19:17 1335 1

原创 判断文件名字符串是否为指定扩展名

判断文件名字符串是否为指定扩展名#include <iostream>#include <string>using namespace std;int main() { string fn = "test1.JPG"; if (fn.substr(fn.find_last_of(".") + 1) == "JPG") { cout << "是.JPG文件" << std::endl; fn = fn.substr(0, fn.length

2021-01-15 14:47:43 404

原创 Python学习笔记(持续更新)

Python学习笔记文章目录Python学习笔记Python BIF与关键字`type()``id()``isinstance()``assert`序列相关方法`len()``max()`/`min()``sum()``sorted()``enumerate()``zip()`列表相关方法与关键字访问列表元素添加元素`list.append()``list.extend()``list.insert()`删除元素`list.remove()``del``list.pop()`其他常用功能`list.ind

2020-10-23 17:24:34 150 2

原创 H.264及编解码调试

H.264及编解码调试H.264是国际标准化组织(ISO)和国际电信联盟(ITU)在2002年12月共同提出的继MPEG-4之后的新一代数字视频压缩格式,其具有更高的编码效率,并注重对移动和IP网络的适应,考虑信道的特点,能控制误码扩散。本文将简单介绍H.264编码的原理,并使用JM 18.61进行编解码器的调试。一. H.264简介1. H.264的特点2压缩比高:在同等图像质量的条件下,采用H.264技术压缩后的码流,数据量只有MPEG-2的1/2;容错率高:H.264码流具有较强的抗误码

2020-08-17 09:42:13 1856 1

原创 随机信号的参数建模法及MATLAB实现

随机信号的参数建模法为随机信号建立参数模型是研究随机信号的一种基本方法。在对语音信号进行编码时,往往通过分析不同种类语音信号的特点及产生,用数学模型表示信源,而编码器根据输入信号计算模型参数,然后对模型参数进行编码,也就是说,只需要对编码后的参数进行传送(而不需要传送语音信号本身),解码器通过收到的模型参数,直接利用相同的数学模型即可重建出语音信号,大大减小了传送的数据量。本文将主要介绍AR模型的参数估计以及L-D算法。一. 概述在随机信号的参数模型中,我们认为随机信号x(n)x(n)x(n)是由白噪

2020-06-19 21:29:10 1135

原创 MPEG-1 Audio Layer II编码原理及编码器调试

MPEG-1 Audio Layer II编码原理及编码器调试模拟音频信号数字化后通常具有极高的码率,例如对于取样频率为44.1 kHz的双声道CD数字音频而言,采用16 bit量化,无压缩码率可达1.41 Mbps,非常不利于存储和传输。因此,为了节省存储空间、提高传输效率,必须要对数字音频信号进行压缩编码。一. 数字音频信号压缩的可能性无压缩的数字音频信号中主要存在两方面的冗余信息:一是声音信号中本身存在的冗余:信号幅度分布是非均匀的(小幅度的样值比大幅度样值出现的概率高),且样本之间存在相关性

2020-06-11 16:57:56 2098

原创 完全重建QMFB的MATLAB实现

完全重建QMFB的MATLAB实现滤波器组的概念在许多应用中,一个离散时间信号首先被一个分析滤波器组分为多个自带信号,各子带信号经过处理后,经过一个综合滤波器组,形成输出信号。各子带信号由于占用的带宽更小,因此可以对其进行抽样再进行处理(这样相比直接处理更加高效)。我们将具有一个共同输入信号或一个共同输出信号的一组滤波器称为滤波器组(Filter Banks)。1两通道正交镜像滤波器组(QMFB)在分析滤波器组一侧,输入信号(设为宽带信号)被分成kkk个子频带信号(窄带信号),通过抽取可降低采样率;

2020-05-31 20:44:27 669

原创 验证时域移位定理

验证时域移位定理根据数字信号处理的相关内容可知,若f(t)f(t)f(t)的傅立叶变换F[f(t)]=F(jω)\mathscr F\left[ f(t)\right] = F({\rm j}\omega)F[f(t)]=F(jω)那么在时域进行移位t0t_0t0​,相当频域只改变相位,幅度不变,即:f(t+t0)↔F(jω)e±jωt0f(t+t_0) \leftrightarrow F({\rm j}\omega ){\rm e}^{\pm {\rm j}\omega {t_0}}f(t

2020-05-31 17:05:34 1955 2

原创 JPEG编解码原理及C++调试

JPEG编解码原理及C++调试JPEG(Joint Photographic Experts Group,联合图像专家小组),是一种针对数字图像的有损压缩标准方法,问世于1986年,并于1992年获得了ISO 10918-1的认定。鉴于JPEG编码算法可以在提供较大的压缩比的同时,保持较好的显示质量,JPEG逐渐成为最为熟知和广泛使用的数字图像格式和通用标准。目前JPEG文件最常用的扩展名为 .jpg 和 .jpeg,同时也有部分使用 .jpe、 .jfif 和 .jif。本文将简要说明JPEG编解码

2020-05-30 10:25:16 3579 2

原创 最小二乘法与梯度下降法、牛顿法、高斯-牛顿法的理解

最小二乘法与梯度下降法、牛顿法、高斯-牛顿法的理解最小二乘法我们知道,当我们解nnn元线性方程组时,如果有恰好有nnn个方程(假设线性无关),那么可以得出对应的唯一解;二档方程个数大于nnn时,如何确定未知数的值呢?再举一个更具体的例子:例如我们收集到了NNN组有关立定跳远成绩(yyy)和身高(xxx)的数据{(xi,yj)∣i=1,2,⋯ ,N}\{ (x_i,y_j)| i=1,2,\cdots, N \}{(xi​,yj​)∣i=1,2,⋯,N},并希望探寻二者之间的关系关系。假设通过画散点图

2020-05-17 18:32:40 925

原创 求线性预测器的最佳预测系数

求线性预测器的最佳预测系数我们要在最小E[d2]E[d^2]E[d2]的条件下,确定一组最佳预测系数(不考虑量化误差)。E[d2]=E[(Sk−Se(k))2]=E[(Sk−∑i=1NaiS(k−i))2](1)E[d^2]=E\left[ (S_k-S_e(k))^2 \right]=E\left[ \left(S_k-\sum_{i=1}^N a_iS(k-i)\right)^2 \right] \tag{1}E[d2]=E[(Sk​−Se​(k))2]=E⎣⎡​(Sk​−i=1∑N​ai​S(

2020-05-17 18:32:13 1186

原创 使用DPCM进行图像压缩的C++实现方法

使用DPCM进行图像压缩的C++实现方法我们知道,对于图像或视频的每一帧而言,相邻的像素之间有着较强的相关性——除了在边缘、轮廓等位置,相邻像素的像素值相差并不大,也就是说,图像或视频的一帧中存在着很大的空间冗余。而DPCM(Differential Pulse Code Modulation,差分脉冲编码调制)便是一种简单而高效的去冗余算法。基本原理DPCM对于去除引言中提到的空间冗余,...

2020-05-04 10:35:30 1396

原创 LZW编解码算法的基本原理及其C++实现

LZW编解码算法的基本原理及其C++实现LZW编码(LZW Encoding)又称“串表压缩算法”,由J.Ziv和A.Lempel在1978年首次介绍,并由Terry A.Welch在1984年予以改进,最终该编码方法由三人的名字命名。该编码方法属于词典压缩编码方法。词典编码是一种通用编码方法,适用于无法观察新源统计特性,或虽然可观察但统计特性不固定的情形。LZW编码可应用于通用文件压缩(如...

2020-04-25 12:41:05 4277 2

原创 TGA转换为YUV的C++实现方法

TGA转换为YUV的C++实现方法TGA(或TARGA)格式,是Truevision公司开发的一种用于描述位图图像的格式,它能够表示从黑白、索引颜色到RGB颜色的位图,支持Α通道,并支持多种压缩方法,兼具了体积小和效果清晰的特点,成为了CG领域影视动画的常用序列输出格式。本文通过C++,实现了将TGA格式图像转换为YUV格式。暂时只讨论Image Type Code为2(无压缩、无调色板的RG...

2020-04-04 20:01:01 620

原创 TS(传输流)的PAT(节目关联表)分析

TS(传输流)的PAT(节目关联表)分析对于一段TS(Transport stream,传输流),进行PAT(Programme association table,节目关联表)分析,读取其中PMT(Program map table,节目映射表)的PID。代码如下:#include <iostream>using namespace std;// 全局变量int pkt...

2020-03-30 17:42:57 1011 1

原创 RGB与YUV色彩空间的相互转换

RGB与YUV色彩空间相互转换原理RGB与YUV空间的对应关系根据电视原理的相关知识可知,RGB与的YUV对应关系为:{Y= 0.299 R+0.587 G+0.114 BU=−0.1684 R−0.3316 G+0.5 B=0.564 (B−Y)V=   0.5 R−0...

2020-03-21 20:30:35 2381 1

原创 CIF下变换为QCIF

#include <iostream>using namespace std;int main(int argc, char* argv[]){ FILE* cifPtr; // CIF文件指针 FILE* qcifPtr; // QCIF文件指针 const char* cifName = argv[1]; // CIF文件名 const char* qcifName...

2020-03-21 14:21:50 300

原创 C/C++中进行文件读写的方法

在C++中进行文件读写有多种方法,在这里介绍其中的一种,只需要最基本的iostream头文件即可。代码#include <iostream>using namespace std;// 文件路径const char* inPath = "...";const char* outPath = "...";int main(){ // 文件指针 FILE* inFi...

2020-03-12 23:44:04 713

原创 求RGB图像各分量的概率分布和熵

功能该程序可以实现读入一个24bit RGB文件(以down.rgb为例,分辨率为256×256),计算R、G、B三个分量(各8bit表示)的概率分布和熵,并输出到txt文件中。 down.rgb 需要注意的是,与YUV文件不同,RGB文件是按照每个像素的b、g、r分量依次排列而成。代码为了清晰,将程序写在globalVariables...

2020-03-10 14:02:56 1725 1

原创 在C++中正确使用多文件和全局变量的方法

假设有这样一段程序:#include <iostream>using namespace std;int a = 12; // 全局变量void func(int x) { cout << x + a << endl;}int main() { int b = 10; func(b);}现在希望将func函数单独写为一个文件,...

2020-03-10 00:01:38 685

原创 在Markdown中插入图片及图注的方法

一般方法格式为:![图片替换文字](图片地址)这里不建议从剪贴板或本地直接粘贴到Markdown文档中,个人使用的是iPic(Mac App Store)图床,简单易用且免费。下面是一些进阶操作。插入图注,并调整尺寸<center> <img style="border-radius: 0.3125em; box-shadow: 0 2px 4px ...

2020-02-28 20:33:19 13133

原创 《线性代数的几何意义》学习笔记(持续更新)

第一章 什么是线性代数代数的功能是把许多看似不相关的事物进行抽象,以提高效率,把许多看似不相关的问题化归为一类问题。1.1 线性的几何意义一元线性函数的概念定义:f(x)=kxf(x) = kxf(x)=kx(注:f(x)=ax+bf(x) = ax+bf(x)=ax+b在这里不再称为线性函数)几何意义:直线代数意义:可加性:若f(x)f(x)f(x)是线性的,则有f(...

2020-02-26 17:02:13 3994

原创 MATLAB自定义函数:将cell类型的类别文本数字化

category2num功能将cell类型的类别(字符串)数字化输入参数categoryCell:各样本的类别字符串,cell类型tag:类别标签,cell类型输出参数numMat:各样本类别字符串进行数字化后的矩阵,默认为double类型function [numMat] = category2num(categoryCell,tag) for i = 1:lengt...

2020-02-20 18:55:19 797

原创 C++中的数据类型及其表示、计算方法

任务1:计算机编程中的数据类型一. 整型(int/unsigned int)1. 机器数原码:由符号位(正数为0,负数为1)加上真值绝对值的二进制表示。表示范围为−2n−1+1∼0-2^{n-1}+1\sim 0−2n−1+1∼0,+0∼+2n−1+0\sim +2^{n-1}+0∼+2n−1。例如,以8 bit字长为例(下同),[−74]原=1100 1010[-74]_...

2020-02-16 19:15:27 1381

图像FFT变换及陷波滤波器(C/C++)

利用2-D FFT(2维快速傅立叶变换),将空间域图像变换到频域,在频域进行陷波滤波,再进行2-D IFFT(2维快速傅立叶反变换)。

2020-05-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除