2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(matlab 部分代码)

对于1-4问针对的是附录1 中的数据

clc;
close all;
clear;
% 图像文件夹路径
folder_path = 'E:/新建文件夹/yatai/Attachment/Attachment 1/';
% 图像文件列表
image_files = dir(fullfile(folder_path, '*.jpg')); % 假设所有图片都是jpg格式% 解析文件名中的数字,并转换为数值类型
numbers = cellfun(@(x) sscanf(x, '%d.jpg'), {image_files.name});% 根据解析出的数字对文件列表进行排序
[~, sorted_idx] = sort(numbers);
image_files = image_files(sorted_idx);
% 存储每张图片苹果数量的数组
apple_counts = zeros(length(image_files), 1);

1,需要对原始的数据预操作,进行数据增强增强

% 应用Retinex算法sigma = 150; % 高斯滤波器的标准差,可以调整enhanced_img = singleScaleRetinex(img, sigma);

2.转换色彩空间 进行直方图均值化

 % 转换到YCbCr色彩空间进行直方图均衡化
img_ycbcr = rgb2ycbcr(enhanced_img);
Y_channel = img_ycbcr(:,:,1); % Y通道
img_ycbcr(:,:,1) = histeq(Y_channel); % 对Y通道进行直方图均衡化

3.LAb色彩空间

% 将处理后的图像转换回RGB色彩空间img_eq = ycbcr2rgb(img_ycbcr);% 转换到LAB色彩空间img_lab = rgb2lab(img);% 分别获取L*, a*, b*通道L_channel = img_lab(:,:,1);  % L* 亮度通道a_channel = img_lab(:,:,2);  % a* 通道,从绿色到红色b_channel = img_lab(:,:,3);  % b* 通道,从蓝色到黄色

4.k-means聚类

% 使用k-means算法在a_channel进行颜色聚类numOfClusters = 2; % 你想要的聚类数量[cluster_idx, cluster_center] = kmeans(a_channel_reshape, numOfClusters, 'Distance', 'sqEuclidean', 'Replicates', 3);% 将聚类索引重塑回图像的大小clustered_img = reshape(cluster_idx, rows, cols);clustered_img_color = label2rgb(clustered_img);

 ​​​​​​​

 

基于1-4问生成的附录2 中的训练集标签用于后续yolov5对苹果的分割检测 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/214029.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当内容创作进入 AGI 时代,你也可以成为「神笔马良」

我神笔马良的童话故事我们或多或少都听过,一支神笔在手,想画什么就能画出什么,栩栩如生。创造者的理解力、想象力和创作力都能通过这支神笔释放。 近一年,随着 AIGC 内容生产工具的快速出圈,有人把 Stable Diffusion、…

关于同一接口有多个不同实现的设计方案

关于同一接口有多个不同实现的设计方案 前言 最近公司做了一个银行相关的项目,告诉我公司对接了多个银行的支付,每个银行都有对应的接口要去对接,比如:交易申请,交易取消,支付,回单&#xff0…

小程序中的大道理--综述

前言 以下将用一个小程序来探讨一些大道理, 这些大道理包括可扩展性, 抽象与封装, 可维护性, 健壮性, 团队合作, 工具的利用, 可测试性, 自顶向下, 分而治之, 分层, 可读性, 模块化, 松耦合, MVC, 领域模型, 甚至对称性, 香农的信息论等等. 为什么不用大程序来说大道理呢? …

2023年汉字小达人市级比赛题目类型和答题策略(在线模拟题更新)

今天是2023年11月24日,距离2023年第十届上海市小学生汉字小达人市级比赛(市级活动)正式举办还有6天时间。 根据日常交流,六分成长发现还有一些家长和小朋友对汉字小达人的市级比赛的形式、题型不太了解,为此&#xff0…

短视频获客系统成功分享,与其开发流程与涉及到的技术

先来看实操成果,↑↑需要的同学可看我名字↖↖↖↖↖,或评论888无偿分享 一、短视频获客系统的开发流程 1. 需求分析:首先需要对目标用户进行深入了解,明确系统的功能和目标,制定详细的需求文档。 2. 系统设计&#…

【DevOps】Git 图文详解(九):工作中的 Git 实践

本系列包含: Git 图文详解(一):简介及基础概念Git 图文详解(二):Git 安装及配置Git 图文详解(三):常用的 Git GUIGit 图文详解(四)&a…

H5(uniapp)中使用echarts

1,安装echarts npm install echarts 2&#xff0c;具体页面 <template><view class"container notice-list"><view><view class"aa" id"main" style"width: 500px; height: 400px;"></view></v…

G1垃圾收集器

1.G1的目的&#xff1a; Garbage First&#xff0c;也就是垃圾优先原则&#xff0c;也就是空间方面的关注点。同时照顾到停顿时间以及吞吐量。 G1垃圾收集器的设计目的是避免完全回收&#xff0c;但是当并发收集不能足够快地回收内存时&#xff0c;就会发生完全回收GC。G1的完…

学习视频剪辑方法:AI智剪助力,批量处理短视频无忧

随着短视频的兴起&#xff0c;越来越多的人开始关注如何有效地制作和发布这些内容。但是&#xff0c;短视频的制作并不容易&#xff0c;要耗费大量的时间和精力。现在有很多AI智能剪辑工具可以快速、高效地制作短视频。其中&#xff0c;AI智剪是一款非常受欢迎的视频剪辑功能&a…

关于python 语音转字幕,字幕转语音大杂烩

文字转语音 Python语音合成之第三方库gTTs/pyttsx3/speech横评(内附使用方法)_python_脚本之家 代码示例 from gtts import gTTStts gTTS(你好你在哪儿&#xff01;,langzh-CN)tts.save(hello.mp3)import pyttsx3engine pyttsx3.init() #创建对象"""语速"…

12V降3.3V100mA稳压芯片WT7133

12V降3.3V100mA稳压芯片WT7133 WT71XX系列是一款采用CMOS工艺实现的三端高输入电压、低压差、小输出电流电压稳压器。 它的输出电流可达到100mA&#xff0c;输入电压可达到18V。其固定输出电压的范围是2.5V&#xff5e;8.0V&#xff0c;用户 也可通过外围应用电路来实现可变电压…

Element中el-table组件右侧空白隐藏-滚动条

开发情况&#xff1a; 固定table高度时&#xff0c;出现滚动条&#xff0c;我们希望隐藏滚动条&#xff0c;或修改滚动条样式&#xff0c;出现table右边出现15px 的固定留白。 代码示例 <el-table class"controlTable" header-row-class-name"controlHead…