目录:
Ch0 数字图像的概念
图像分类:模拟图像与数字图像
数字图像处理的基本特点
数字图像处理的基本内容
Ch1 图像技术基础
图像与像素
数字化过程
像素的属性
像素间的基本关系
像素间的距离
印刷品中的半调输出技术
图像坐标变换
图像的质量
图像储存的数据结构
图像文件格式
*光盘读取原理
Ch2 空间域图像增强
灰度映射
图像求反(负片)
幂次变换
动态范围压缩
阶梯量化
灰度切分/阈值切分
位平面切片
图像运算(逐像素进行)
算术运算(一般用于灰度图像)
代数运算
逻辑运算
直方图变换
*直方图均衡化方法:
*直方图规定化方法:
镜头边界的检测
图像空间平滑滤波增强
图像中的噪声
邻域平均线性滤波(均值滤波)
中值滤波法
空间域滤波推广
基本低通滤波器设计原则:
微分滤波器模板系数设计
高增益滤波
Ch3 频域图像增强
理论基础
二维卷积
二维离散傅里叶变换
基本性质
DFT的问题
频域图像增强
一般步骤
频域平面与图像空域特性的关系
滤波器
理想低通滤波器的定义
理想低通滤波器的分析
Butterworth低通滤波器
理想高通...
在之前的基础上改进了一部分
硬件上把串口和SWD下载口引出来了,夹具下载有点不稳定
同时把手头上的LCD模组和红外传感器模组给用了,没有额外购买物资,成品图如下:
左边是V1,右边是V2
软件部分增加了一些图像处理的功能:
图像平滑:双线性插值
void interpolateTemperature(float *src, float *dst, uint8_t src_w, uint8_t src_h, uint8_t dst_w, uint8_t dst_h) {
float x_ratio = (float)(src_w-1) / dst_w;
float y_ratio = (float)(src_h-1) / dst_h;
for (int y = 0; y < dst_h; y++) {
for (int x = 0; x < dst_w; x++) {
float x_src = x * x_ratio;
...
在写一些内容时,会遇到需要添加数学公式的地方,Hexo部分主题不支持公式的渲染,比如我正在使用的vivia主题,在查阅一些资料之后,我使用MathJax引擎实现了vivia主题下的数学公式渲染。
MathJax简介:https://www.osgeo.cn/mathjax/basic/mathjax.html
该引擎是一款可在所有现代浏览器中工作的开源js显示引擎,辅助页面作者编写含有数学公式的文档
Step 1 : 安装MathJax引擎并更换渲染引擎: 操作包括卸载Hexo自带的Hexo-math,卸载默认的对MathJax不友好的marked引擎
npm uninstall hexo-math --save
npm install hexo-renderer-mathjax --save
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save
Step 2 : 更新MathJax的cdn链接Step 3 : 更改部分转义规则 hexo ...
Lecture 0 ScratchLecture 1 CLecture 2 ArraysLecture 3 Algorithms
Time Complexity is an important metric used to measure the relationship between the running time of an algorithm and the size of the input. It describes how the execution time of an algorithm increases as the input size grows. Time complexity helps us assess the efficiency of an algorithm under different problem sizes, allowing us to choose the most appropriate algorithm. Time complexity is usually expressed using Big $O$ notati...
项目背景:
DIY好玩捏
电路工作时有时需要检查元件发热情况,但用手触摸元件有一定的风险,因此需要一种无接触式的多点测温设备
于是开始了解到热成像这个测温方式,以下是软硬件方案
方案:硬件部分 采用上下两块板子对插组合,为了减少复杂度,留了排母方便直插LCD与传感器模组。
BOARD1: MCU与外设
采用STM32F407作为主控,512KB Flash,其实没特别注意选型,只是手上有这个开发板,要压缩成本的话用其他型号也可以
红外传感模组为MLX90640 BAA,这个价格比较贵,比其他元件加起来都贵
屏幕模组为1.44寸TFT-LCD,也是现成的,买了俩还剩一个,下次做别的东西的时候给用了吧
留了串口测试点和烧录测试点
BOARD2: POWER
3.7V锂电池供电,可通过USB接口经过LGS4084H电源管理芯片给锂电池充电
经过一个LDO稳到3.3V给MCU整体供电,VDDA和VCC用磁珠滤波隔离了一下
电源板后续涉及锂电池供电DIY的倒是可以继续沿用
立创打样PCB,自己贴片,PCB板框...
家里的路由器变砖了(具体原因不清楚)
指示灯由蓝色常亮变成橙色常亮,对于家用路由器这种消费电子产品,一般重启一下能解决90%的故障
但心血来潮想试一下给它刷个机
型号是这个:
刷机需要一根网线,PC,以及变砖的路由器
步骤如下:
在网址MiWiFi中找到刷机软件与对应型号的ROM固件
关闭PC的防火墙,将网线连接至路由器的LAN口,本型号WAN与LAN口二合一了,随便找个口插上就行
打开刷机软件并载入对应的固件
用工具按住路由器的reset键后通电源,这一步非常像之前给单片机内部flash进行ISP下载程序的步骤,因此感觉很熟悉
待指示灯闪烁后松开reset键,固件开始下载
路由器变为蓝灯闪烁,此时已经刷机完成,当新路由器用就行
UART(Universal Asynchronous Receiver/Transmitter)是一种串行通信协议,在嵌入式系统和微控制器间数据传输中发挥着核心作用。UART协议通过异步方式传输数据,不依赖于共享时钟信号,简化了通信线路的需求。每次传输包括起始位、数据位、可选的奇偶校验位以及停止位,这种结构支持从简单的传感器到复杂的处理器之间的可靠数据交换。
其重要性还体现在其广泛的兼容性和低成本实现上。它可以通过简单的两线(TX和RX)接口实现全双工通信,极大地降低了系统的硬件复杂性。此外,UART通信协议可以适应不同的波特率设置,使其能够灵活地调整以匹配特定应用的速度要求。在许多工业和消费电子产品中,UART仍然是实现可靠串行通信的首选技术,尤其在资源受限的环境中显示出其高效和经济的优势。(以上均为GPT生成)
在进行传感器测试时,常用到UART,这里mark一下自己常用的HAL库函数封装,免得后续一直翻之前的程序
函数需要用到的全局变量如下:
char send[20] = {0}; //传输用字符数组,储存字符串
uint8_t rx_buffer...