自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 STM32串口通讯USART

一、STM32的USART窗口通讯程序(一)基于寄存器与基于固件库的stm32 LED流水灯例子的编程方式有什么差异?答:固件库就是函数的集合,固件库函数的作用就是:向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。对于STM32这种级别的MCU,数百个寄存器记起来何谈容易,于是推出了官方固件库,固件库将这些寄存器底层操作都封装起来,提供一套API供开发者使用。大多数情况下,你不需要知道操作的是哪个寄存器,你只需要知道调用哪些函数即可。(二)STM32的USART窗口通讯程序1、打开

2020-11-30 15:41:44 361

原创 绘制stm32最小系统PCB图

绘制STM32最小系统PCB图一、根据原理图进行封装由上一个实验画出的原理图如下:1、给stm32f103c8t6_48pin芯片封装2、给电容封装采用批量选择电容在进行封装所有器件封装完成后,检查错误这里可以看出封装没有错误,警告的可以不管。最后检查原理图绘制有没有问题二、把原理图器件导到PCB里面去1、点击Execute Changes开始导入2、导入后如图三、PCB绘制(一)布局1、把元器件排列在板子外工具元器件放置2、设置线的尺寸(长度20mm)

2020-11-26 22:57:38 966

原创 Wireshark抓包实验验证

数据链路层实作一 熟悉 Ethernet 帧结构使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。问题:你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。答:这是因为有时校验和会由网卡计算,这时wireshark抓到的本机发送的数据包的校验和都是错误的,所以默认关闭了WireShark自己的校验。实作二 了解子网内/外通信时的 MAC 地址1、ping 你旁边的计算机(同一子网),同时用 Wiresh

2020-11-09 20:15:00 1919

原创 练习使用VScode、stm32的仿真以及Altium Designer绘制

一、练习使用VScode(一)在ubuntu18.04版本安装vscode1.在ubuntu桌面找到应用中心2.在软件中心中,搜索Visual Studio Code3. 在页面中就可以直接选择安装(二)在ubuntu中用vscode编译调试C\C++1、安装vscode的C\C++插件2、按ctrl+p调出命令行,在上面输入ext install cpptools,下载C/C++插件3、配置调试和编译文件,launch.json和task.json(1)新建一个C++test文件夹,在

2020-11-08 17:18:18 1584

matlab实现矿渣相位分割

matlab实现矿渣相位分割,采用中值滤波去噪,生成灰度直方图,通过直方图获取各个物体的灰度值区间,从而分割出相应物体。 % 定义灰度阈值区间 low = 0; % 低阈值 high = 99; % 高阈值 % 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0 binary_image0 = (filtered_img >= low) & (filtered_img <= high); figure(); imshow(binary_image0) % 应用3×3中值滤波器进行降噪 filtered_img = medfilt2(img, [3, 3]); % 显示降噪后的图像 % figure(); % imshow(filtered_img); % title('降噪后的图像');

2023-08-01

棋盘格二值图像的所有交点坐标(matlab)、网格交点坐标

matlab实现求棋盘格二值图像的所有交点坐标,也可以是方格,阈值二值化, % 获取图像的大小 imageSize = size(eroded_image); % 定义网格交点像素坐标列表 intersectionPoints = []; % 遍历图像的每个像素 for row = 2:imageSize(1)-1 for col = 2:imageSize(2)-1 % 检查当前像素是否为白色 if eroded_image(row, col) == 1 % 检查当前像素所在的行和列是否都包含白色像素 rowPixels = eroded_image(row, :); colPixels = eroded_image(:, col); if sum(rowPixels == 1) > 350 && sum(colPixels == 1) > 350 % 添加网格交点像素坐标到列表

2023-08-01

作业5.docx

数字图像处理作业

2023-07-30

作业4.docx

数字图像处理作业

2023-07-30

作业3.docx

数字图像处理作业

2023-07-30

作业1.docx

数字图像处理作业

2023-07-30

作业2.docx

数字图像处理作业

2023-07-30

计算机视觉期末考试编程题

1、黑白图像灰度扫描 实现一个函数s=scanLine4e(f, I, loc),其中f是一个灰度图像,I是一个整数,loc是一个字符串。当loc为’row’时,I代表行数;当loc为’column’时,I代表列数。输出s是对应的相关行或者列的像素灰度值矢量。 调用该函数,提取cameraman.tif中心行和中心列的像素灰度矢量并将扫描得到的灰度序列绘制成图。 2、归一化二维高斯滤波核函数 实现一个高斯滤波核函数w=gaussKernel(sig, m),其中sig对应于高斯函数定义中的 ,w的大小为 。请注意,这里如果m没有提供,需要进行计算确定。如果m已提供但过小,应给出警告信息提示。w要求归一化,即全部元素加起来和为1。 3、灰度图像的高斯滤波 调用上面实现的函数,对于问题一、二中的灰度图像(cameraman灰度图像)进行高斯滤波,采用 。任选一种像素填补方案。 4、图像二维快速傅里叶正变换和逆变换 (1) 实现一个函数F=dft2D(f),其中f是一个灰度源图像,F是其对应的二维快速傅里叶变换(FFT)图像。具体实现要求按照课上的介绍通过两轮一维傅里叶变换实现。也就

2023-07-30

计算机视觉,图像分割:活性污泥显微图像

1. (论述题)要求对下图进行图像分割,分割方法包括阈值、区域、边缘或者基于图论的方法。代码不限语言,可以是python或者matlab,要求不能直接调用图像分割函数

2023-07-30

项目一:计算机视觉 36张图像的直方图三维图 一阶矩、二阶矩、三阶矩、四阶矩、能量和熵 DFT变换

一个活性污泥样品,采用Z字形从左上到右下扫描6X6=36张显微图像,请完成以下任务: (1)36张图像的直方图三维图,要求bin的个数为64个; (2)提取36张图颜色一阶矩、二阶矩、三阶矩、四阶矩、能量和熵,并画图对比显示 (3)选择合适的方法进行边缘检测,并进行说明; (4)图像的DFT变换,以及通过低通和高通Butterworth 滤波后图像处理结果。

2023-07-30

yololv5幼苗的漏苗缺苗数据集+标签

幼苗的漏苗缺苗数据集+标签,整理在images和lables文件下,从视频中一帧一帧截取的图像,打上标签

2023-07-30

matlab多目标优化问题,自带gui界面,目标函数:min f 1(x) = x1 ,min f2(x) =(1+x2)/x1

求最优化解 目标函数: min f 1(x) = x1 min f2(x) =(1+x2)/x1 约束条件: x2+9x1≥6 -x2+9x1≥1 0.1≤x1 ≤l 0≤x2≤5

2023-07-30

基于yolov5的幼苗缺苗检测模型,漏苗缺苗检测

基于yolov5的幼苗缺苗检测模型,训练后的模型,检测精度高

2023-07-30

K-Means算法通过颜色实现物品的分类(python),轮廓系数法确定 num-clusters 值

Python代码实现物品的分类,无监督学习算法K-Means,轮廓系数法确定 num_ # 将图像转换为HSV颜色空间 hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 计算一阶颜色矩(每个通道的平均值) first_order_moments = np.mean(hsv_image, axis=(0, 1)) # 计算二阶颜色矩(协方差矩阵) flattened_hsv = hsv_image.reshape(-1, 3) covariance_matrix = np.cov(flattened_hsv, rowvar=False) # 计算颜色直方图 hist_hue = cv2.calcHist([hsv_image], [0], None, [256], [0, 256]) hist_saturation = cv2.calcHist([hsv_image], [1], None, [256], [0, 256]) hist_value = cv2.calcHis

2023-07-30

机器人大赛项目,智能识别6个储物框内的瓶子数(python)

机器人大赛项目,智能识别6个储物框内的瓶子数,输出每个方框内的瓶子数,并圈出物品

2023-07-30

智能小车路径规划算法,最短路径、避障(python)

预警车正常是在指定的区域线路上进行巡检,通过超声波进行避障,当需要到另外一个区域巡检或者到指定地点执行任务时,需要一个最优路径算法。如图7,作为医疗场所的剖面图,对占有面积的“小车区域”使用广度优先搜索的方法,从起点开始上下左右四方向搜索,就如同小车在图像中运动一样,搜索步长设置为车身的像素长度;即只移动小车的中心点,然后通过检查小车面积占据的方位内,是否有像素点为 0 来判断小车是否碰到障碍,将没有障碍位置的可行路径进行标记,同时记录到达该点的前一个点的坐标。如果判断小车行驶到终点则退出搜索,然后通过回溯得到从起点至终点的最短路径。将起点的灰度像素值设置为(255 + 127)/ 2 = 191,相对的,终点像素设置为(255 - 127)/ 2 = 64,这里的191、64没有额外的含义,只是用来表示区分,再通过BFS算法得到的路径,就是整个地图的最短路径。

2023-07-30

matlab 云分割 图像处理

matlab 云分割 图像处理 代码段首先读取了六张图像,然后对每张图像进行阈值分割、k均值聚类分割和自定义区域生长分割,最后进行全局固定阈值分割。每种分割方法的结果都进行了可视化展示,以便比较它们在图像分割中的效果和性能。 读取一张图像,并将其转换为灰度图像。然后选择了一个种子点,并设定了阈值,使用自定义区域生长算法进行图像分割,并对结果进行了可视化展示。接着,读取了另一张二值图像,并调整了其大小以与分割图像一致。使用相同的阈值对第二张图像进行了二值化,并展示了二值化后的结果。最后,计算了类别平均像素准确率(MAP)和交并比(IoU),以评估分割结果的准确性。 图像转换为一维数组,并使用k均值聚类算法将像素分成两类k均值优化

2024-03-19

matlab图像处理 车牌号分割

matlab图像处理 车牌号分割 使用imbinarize进行自适应二值化 图像预处理 形态学操作 四个阈值进行二值化分割

2024-03-19

Welch 改进估计功率谱 matlab

该代码段实现了对随机信号经系统函数处理后的功率谱估计,包括使用周期图法、Welch 改进方法和 AR 模型参数谱估计方法,通过比较不同方法得到的功率谱及其偏差、方差随信号长度变化的曲线,评估不同方法的性能和准确度。

2024-03-19

matlab拉伸图像,使用cubic插值,批量处理

% 遍历拉伸因子 for j = 1:length(stretchFactors) % 拉伸图像,使用cubic插值 stretchedImage = imresize(originalImage, stretchFactors(j), 'cubic'); % 保存拉伸图像 imwrite(stretchedImage, fullfile(stretchedFolderPath, [num2str(j) '.png'])); % 计算拉伸因子的估计值 estimatedStretchFactor = size(originalImage, 2) / size(stretchedImage, 2); % 计算误差 error = abs(estimatedStretchFactor - stretchFactors(j)); % 判断估计是否正确 if error < 1.3 correct

2024-03-19

GLCM 矩阵(灰度共生矩阵)提取各种指标

% Features computed % Autocorrelation: [2] (out.autoc) % Contrast: matlab/[1,2] (out.contr) % Correlation: matlab (out.corrm) % Correlation: [1,2] (out.corrp) % Cluster Prominence: [2] (out.cprom) % Cluster Shade: [2] (out.cshad) % Dissimilarity: [2] (out.dissi) % Energy: matlab / [1,2] (out.energ) % Entropy: [2]

2024-03-19

RGB位图转矢量图matlab

代码实现了将彩色图像转换为矢量图形式的 SVG 文件,并保存。主要步骤如下: 导入图像,并对其进行中值滤波。 进行颜色量化,将图像中的颜色数量减少到指定数量。 删除周围只有 1 个像素的区域,以减少图像中的孤立像素。 对每种颜色进行区域分割,提取出各个区域的轮廓,并保存其颜色信息。 按照区域面积对区域进行排序。 将每个区域的轮廓向外扩展一定像素,并绘制模拟矢量图。 将绘制好的矢量图保存为 SVG 文件。

2024-03-19

引入k均值变异算子的遗传聚类算法matlab

代码实现了引入 k-均值变异算子的遗传聚类算法。主要步骤如下: 读取数据,并对数据进行乱序排列。 设置算法的参数,如种群规模、交叉概率、变异概率等。 初始化种群,将每个个体的染色体表示为对数据样本的分类。 进行遗传进化: 选择:根据适应度函数,保留前 10% 的最优个体,并使用轮盘赌方法选择剩余的个体。 交叉:以一定概率对个体进行交叉操作。 变异:以一定概率对个体进行变异操作,根据当前的迭代次数和种群的适应度情况选择使用 k-均值变异算子还是随机变异。 迭代直到满足终止条件。 对最终的聚类结果进行评估,并根据聚类中心对样本进行分类。 绘制聚类中心图和对应的样本点,并保存聚类结果到文件中。 该算法通过结合遗传算法和 k-均值聚类算法,实现了对数据的聚类操作,并提供了对聚类结果的可视化和保存功能。

2024-03-19

matlab基于SSDA和SATD的人脸匹配代码

代码实现了基于 SSD(Sum of Squared Differences)的模板匹配算法。它首先读取图像和模板,然后在图像中搜索与模板最相似的位置。通过计算每个可能位置与模板的 SSD,找到最小 SSD 值对应的位置,然后在原图上用红色矩形框标出这个位置,以显示匹配结果。 代码实现了基于 SATD(Sum of Absolute Transformed Differences)的模板匹配算法。它与之前的 SSD 算法类似,不同之处在于计算匹配程度的指标。代码首先读取图像和模板,然后在图像中搜索与模板最相似的位置。通过计算每个可能位置与模板的 SATD,找到最小 SATD 值对应的位置,然后在原图上用红色矩形框标出这个位置,以显示匹配结果。

2024-03-19

matlab实现全息图像的选取片段的截取,将截取部分生成频谱图,再截取频谱图部分生成截取部分的频谱图,并将频谱图中心化

matlab实现全息图像的选取片段的截取,将截取部分生成频谱图,再截取频谱图部分生成截取部分的频谱图,并将频谱图中心化。这段代码是用MATLAB编写的,用于处理全息图像,包括预处理、滤波、相位解包裹和深度提取等操作。以下是代码中主要步骤的概要: 读取和预处理: 读取两张图像,'qing_xi.bmp'和'b1.bmp',并将它们转换为灰度图像。 显示原始全息图像('qing_xi.bmp')。 傅里叶变换: 对全息图像执行2D傅里叶变换。 显示傅里叶变换的幅度。 选择感兴趣区域(ROI): 允许用户使用鼠标选择全息图像中的矩形区域。 对全息图像和背景图像进行裁剪,仅保留所选ROI。 滤波: 对傅里叶变换后的全息图像应用高斯滤波。 显示滤波后的傅里叶频谱。 逆傅里叶变换: 对滤波后的频谱执行逆傅里叶变换,以获得经过预处理的全息图像。 显示预处理后的全息图像。 重建: 使用角谱法计算全息图像的重建。 显示重建图像的强度和相位。 相位解包裹: 执行相位解包裹操作,以去除重建相位中的不连续性。 显示解包裹后的相位。 深度提取: 将解包裹后的相位转换为深度信息。 显示深度剖面。

2023-09-07

matlab实现HE、BBHE、MMBEBHE、DHE、BPDFHE、RSWHE、ETHE、ESIHE、GC 和 AGCWD对比

matlab实现:将HE、BBHE、MMBEBHE、DHE、BPDFHE、RSWHE、ETHE、ESIHE、GC 和 AGCWD算法进行比较,客观评价借助熵、对比度、色彩度和饱和度四个参数来完成的,每个都要原图和处理后的图,然后输出熵、对比度、色彩度和饱和度四个参数

2023-09-01

matlab实现矿渣图像中粗框的提取,提取直径大于2.36的粗矿,用while循环不断腐蚀,直到过滤完,然后用最后稳定的图像与原

matlab实现矿渣图像中粗框的提取,提取直径大于2.36的粗矿,用while循环不断腐蚀,直到过滤完,然后用最后稳定的图像与原始二值图像进行对比,将两个粘在一起的部分分割出来,人工进行分割

2023-08-24

matlab gui界面开发,通过建设一套视频监控设备,把看窗的画面时时传回电脑端,手动选取区域,求区域平均灰度值灰度数值

游离水脱除器工艺负责对站内来液进行一段处理,通过添加破乳剂及重力沉降作用,实现游离态水与原油的初步分离 正常是通过设备内的油水界面仪确定运行状态,但是目前相关仪表已经损坏,只能通过看窗的放水来观察: 黑色--油水界面较低,工作正常 灰色--油水界面处于中间的混沌层,设备即将报警 白色--放水高度含水较高,异常工况 目前我们需要每半小时观察看窗,确定设备的状态,因为油田是24小时连续工作,夜班员工操作强度很辛苦 通过建设一套视频监控设备,把看窗的画面时时传回值班室,但是人需要监控的事情比较多,不能一直观察视频画面,所以想要一套软件实现对画面的分析,并能够具备一定的报警能力。 考虑到视频内有效区域只有黑-灰-白的不同颜色,希望能通过将视频画面转化为灰度数值(比如1-255这样),并能够自行设定报警值

2023-08-19

matlab医学光谱图像的,半圆光晕拟合和圆心和质心点的标记

matlab医学光谱图像的,半圆光晕拟合和圆心和质心点的标记

2023-08-16

python酒精浓度中心点检测

python酒精浓度光谱中心点检测

2023-08-16

Python实现图像的角点检测,并输出角点坐标点

Python实现图像的角点检测,并输出角点坐标点

2023-08-16

matlab基于自适应阈值法对遥感图像、地面卫星图像的火点提取,包含固定阈值法、Otsu算法

matlab基于自适应阈值法对遥感图像的火点提取,包含固定阈值法、Otsu算法 % Step 2: 将图像转换为HSV颜色空间 % Step 3: 颜色分割,选择适当的颜色阈值来提取火焰区域 % 这里的阈值根据你的图像和火焰颜色的特点进行调整 fireMask = (hChannel >= hueThreshold(1) & hChannel <= hueThreshold(2)) & ... (sChannel >= saturationThreshold(1) & sChannel <= saturationThreshold(2)); % Step 4: 自适应阈值,Otsu算法 % 使用Otsu算法 % 使用Otsu算法进一步优化火焰区域的提取 % 使用Otsu算法进一步优化火焰区域的提取 level = graythresh(vChannel); fireMask = fireMask & (vChannel >= level) % 填充火焰区域内部的孔洞 fireMask = imfill(fireMask, 'holes') %去除火焰区域中的小噪

2023-08-01

空空如也

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

TA关注的人

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