【水果分类】基于计算机视觉实现水果识别分类含Matlab源码
1 简介
通过MATLAB编写程序,进行对水果的识别与分类。在生产与生活中图像识别有着广泛的应用,目前市场上的水果分拣基本上任由人工完成,生产效率低,且肉眼判断品质好坏不精确。本设计对于水果的识别与分类可以应用到果园的水果采摘与分类装箱,有较好的现实意义。
2 部分代码
clear;clc;close all;
%%%%%%%%%%%%%%%%% 读取原图,并处理成二值图像 %%%%%%%%%%%%%%%%%%%%%%%
%I=imread('梨2.jpg');
%I=imread('桃子2.jpg');
%I=imread('苹果2.jpg');
%I=imread('香蕉.jpg');
%I=imread('青椒.jpg');
I=imread('test4.jpg');
I2=rgb2gray(I);
BW=im2bw(I2,0.9);
figure(1),subplot(1,3,1),imshow(I),title('原始图像');
subplot(1,3,2),imshow(I2),title('灰度图像');
subplot(1,3,3),imshow(BW),title('二值图像');
%%%%%%%%%%%%%%%% 进行边缘检测 得到不连续的图形边界 %%%%%%%%%%%%%%%%%%%%%%
%得到各个图形的连续边界
SE=strel('rectangle',[40 30]); % 结构定义
J2=imopen(BW,SE); % 开启运算
figure(2),imshow(J2),title('对二值图像进行开运算');
SE=strel('square',5); % 采用方形结构元素进行腐蚀
J=imerode(~J2,SE);
BW2=(~J2)-J; % 检测边缘
figure(3),imshow(BW2),title('边缘检测');
%填充了已有的检测的连续形状边界
B = imfill(BW2,'holes');%图像填充
B = bwmorph(B,'remove');%移除内部像素
figure(4),imshow(B),title('提取出的边界图像');
%将不同的图形进行分别标记,num表示连接的图形对象的个数
[Label,num] = bwlabel(B,8);
3 仿真结果
4 参考文献
[1]张海亮, and 程翔. "一种基于计算机视觉的水果分类系统.", CN110728664A. 2020.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
【水果分类】基于计算机视觉实现水果识别分类含Matlab源码相关推荐
- 【图像计数】基于计算机视觉实现蚊香片计数含Matlab源码
1 简介 基于计算机视觉实现蚊香片计数 2 部分代码 clc;%清除命令窗口中的内容close all;%关闭所有的figure窗口clear all;%清楚工作空间所有的变量.函数等I=imrea ...
- 【裂缝识别】基于matlab计算机视觉断裂裂缝识别【含Matlab源码 2049期】
一.简介 1 案例背景 随着国家对公路建设的大力投入,我国的公路通车总里程己经位居世界前列,这样进一步促进了我国经济建设的发展.随着公路的大量投运,公路日常养护和管理已经成为制约公路运营水平提高的瓶颈 ...
- 【图像检测】基于计算机视觉实现米粒个数检测含Matlab源码
1 简介 2 部分代码 function varargout = mygui(varargin)% Begin initialization code - DO NOT EDITgui_Singl ...
- matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...
一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...
- 【条形码识别】基于matlab条形码识别【含Matlab源码 403期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [条形码识别]基于matlab条形码识别[含Matlab源码 403期] (https://download.csdn.net/downl ...
- 【表盘识别】基于matlab霍夫变换钟表表盘识别【含Matlab源码 1943期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[表盘识别]基于matlab霍夫变换钟表表盘识别[含Matlab源码 1943期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 【芯片识别】基于matlab GUI形态学PCB板芯片识别【含Matlab源码 1820期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[芯片识别]基于matlab GUI形态学 PCB板芯片识别[含Matlab源码 1820期] 点击上面蓝色字体,直接付费下载,即可. 获 ...
- 【大米粒计数】基于matlab GUI形态学大米粒颗粒识别【含Matlab源码 915期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[大米粒计数]基于matlab GUI形态学大米粒颗粒识别[含Matlab源码 915期] (https://download.csdn. ...
- 【数字信号】基于matlab GUI电话按键识别【含Matlab源码 2382期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号]基于matlab GUI电话按键识别[含Matlab源码 2382期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...
- 【答题卡识别】Hough变换答题卡识别【含Matlab源码 250期】
⛄一.获取代码方式 获取代码方式Q: 完整代码已上传我的资源:[答题卡识别]基于matlab Hough变换答题卡识别[含Matlab源码 250期] 获取代码方式2: 付费专栏图像处理(Matlab ...
最新文章
- MySQL—不相关子查询(多行子查询)
- 实现JavaScript匿名透明递归
- [转]asp.net权限认证:摘要认证(digest authentication)
- 2018年第九届蓝桥杯C/C++ C组国赛 —— 第一题:年龄问题
- 微前端之qiankun
- Android之系统架构
- “魅力足球,艺术中国”2007中国艺术精英展
- ubuntu中遇到jupyter出现问题ValueError: signal only works in main thread ERROR:tornado.application:Except
- CentOS二进制安装Kubernetes
- 修改HDFS文件所有者
- java string转datetime_在JAVA中怎么将String转换成Datetime类型
- 2017百度之星资格赛总结
- WindRiver workbench 建立工程步骤
- iOS 越狱检测/反越狱
- chrome下载文件竟然都有缓存!
- 数论day2——离散对数、元根
- 共享办公室,推送企业紧密合作
- win10 dpc_watchdog_violation 蓝屏
- ROS(七):移动机器人的导航和SLAM(一)
- 烟雨江湖小米鸿蒙,烟雨江湖小米时装怎么拿? 小米衣服获取方法详解[多图]