【水果识别】基于计算机视觉实现橙子数量识别含Matlab源码
1 简介
在现实生活中成人识别水果是十分简易的但对于幼儿来说在没有实物之前是无法识别水果的,因此本文设计了一个简易水果识别系统为幼儿在电子设备上识别水果提供可能.本文通过matlab GUI设计了一个水果识别系统界面并通过对水果图像进行二值化处理,边缘处理最后实现了橙子数量识别.
2 部分代码
function [t,em] = otsuthresh(counts) %#codegen
%OTSUTHRESH Global histogram threshold using Otsu's method - M-to-C codegen.
% Copyright 2015 The MathWorks, Inc.
% Syntax
% ------
%
% [t,em] = otsuthresh(counts)
%
% Input Specs
% -----------
%
% counts:
% numeric
% vector
% real
% finite
% non-sparse
% non-negative
%
% Output Specs
% ------------
%
% t:
% scalar
% double
% in [0,1]
%
% em:
% scalar
% double
% in [0,1]
%
% Validate counts
validateattributes(counts,{'numeric'}, ...
{'vector','real','finite','nonsparse','nonnegative'},mfilename,'COUNTS');
% Number of bins
num_bins = numel(counts);
% Number of elements
num_elems = 0;
for k = 1:num_bins
num_elems = num_elems + double(counts(k));
end
% CDF of the histogram
omega = coder.nullcopy(zeros(num_bins,1));
omega(1) = double(counts(1))/num_elems;
mu = coder.nullcopy(zeros(num_bins,1));
mu(1) = omega(1);
for k = 2:num_bins
p = double(counts(k))/num_elems;
% CDF
omega(k) = omega(k-1) + p;
% "weighted" CDF
mu(k) = mu(k-1) + p*k;
end
mu_t = mu(end);
% Equation 18 in the paper
sigma_b_squared = coder.nullcopy(zeros(num_bins,1));
maxval = -coder.internal.inf;
for k = 1:num_bins
sigma_b_squared(k) = (mu_t*omega(k) - mu(k))^2 / (omega(k)*(1-omega(k)));
maxval = max(maxval,sigma_b_squared(k));
end
% Find the location of the maximum value of sigma_b_squared.
% If maxval is NaN, meaning that sigma_b_squared
% is all NaN, then return 0.
isfinite_maxval = isfinite(maxval);
if isfinite_maxval
% The maximum may extend over several bins,
% so average together the locations.
idx = double(0);
num_maxval = double(0);
for k = 1:num_bins
idx = idx + k * double(sigma_b_squared(k) == maxval);
num_maxval = num_maxval + 1 * double(sigma_b_squared(k) == maxval);
end
idx = idx / num_maxval;
% Normalize the threshold to the range [0,1]
t = (idx - 1) / (num_bins - 1);
else
t = 0;
end
% Compute the effectiveness metric
if nargout > 1
if isfinite_maxval
d = 0;
for k = 1:num_bins
d = d + double(counts(k))/num_elems * k^2;
end
em = maxval/(d - mu_t^2);
else
em = 0;
end
end
3 仿真结果
4 参考文献
[1]阳江平. 基于计算机视觉的果蔬识别方法研究[D]. 大连理工大学.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
【水果识别】基于计算机视觉实现橙子数量识别含Matlab源码相关推荐
- 【图像计数】基于计算机视觉实现蚊香片计数含Matlab源码
1 简介 基于计算机视觉实现蚊香片计数 2 部分代码 clc;%清除命令窗口中的内容close all;%关闭所有的figure窗口clear all;%清楚工作空间所有的变量.函数等I=imrea ...
- 【图像检测】基于计算机视觉实现米粒个数检测含Matlab源码
1 简介 2 部分代码 function varargout = mygui(varargin)% Begin initialization code - DO NOT EDITgui_Singl ...
- 【汉字识别】基于贝叶斯网络实现汉字识别含Matlab源码
1 简介 2 部分代码 clc,clear,closefor i=1:5 imp=imread(['.\字库',num2str(i),'.jpg']); create_database(imp,i) ...
- 【故障诊断分析】基于小波变换实现外圈轴承故障诊断含Matlab源码
1 简介 在滚动轴承的故障诊断时,传统的频谱分析法通常采用共振解调技术 , 具有良好的效果 ,但当内圈 . 滚动体或多点故障时,解调谱线却很难分辨故障类型小波包是小波理论在信号处理应用领域的又一重大发 ...
- 【图像修复】基于滤波实现损坏图像修复含Matlab源码
1 简介 图像在获取,传输和存储的过程中由于各种原因引起图像质量的下降,需要对图像进行复原.本文对图像复原技术,高斯噪声,椒盐噪声进行介绍,探讨二维中值滤波算法和MATLAB下算法的仿真实验,同时分析 ...
- 【PID优化】基于蝗虫算法PID控制器优化设计含Matlab源码
1 内容介绍 该文针对广泛应用的PID控制器,在MATLAB仿真软件环境下,开发出一个过程控制系统的仿真软件包,能够实现模型辨识和PID参数调节,为过程控制系统仿真研究提供了方便. 该软件界面友好,操 ...
- 【优化控制】基于遗传算法实现优化LQR控制器含Matlab源码
1 简介 车辆悬架系统是影响汽车行驶平顺性和乘坐舒适性的重要结构部件.传统的被动悬架由于其弹性元件刚度和减震器阻尼是固定不变的,这导致其只能适应某一特定路面行驶,限制了适应多样性路况的需求以及车辆性能 ...
- 【数字信号】基于DTMF双音多频电话拨号仿真含Matlab源码
1 简介 DTMF信号是音频电话中的拨号信号,本文介绍了基于MATLAB的DTMF信号产生与检测的流程,重点分析了DTMF信号检测中的戈泽尔算法原理及参数选择. 2 部分代码 t1='123A';t ...
- 【运动学】基于最小半径实现泊车仿真含Matlab源码
1 简介 近年来,智能化的自动泊车技术不断发展.文章针对自动平行泊车轨迹曲率过大,曲率不连续和泊车起始位置,车身姿态要求较为苛刻等问题,提出了最小半径自动平行泊车方法. 2 部分代码 functio ...
最新文章
- C#关于读写INI文件
- 大疆口袋相机美颜怎么设置_大疆口袋小相机DJI Pocket 2套装版深度评测:变成生产力工具...
- hdu 1874(Dijkstra + Floyd)
- python查看字符编码_python如何查看字符集
- Telephone Linse(POJ-3662)
- 理解String不可变
- MySql+Memcached架构的问题
- 分布式本质论:高吞吐、高可用、可扩展 (1)
- 阿里云地域和可用区怎么选?
- higtech软件的使用
- 牛客网刷题记录(3)组合逻辑
- TeeChart曲线平滑 Line.Smoothed
- Python+Vue计算机毕业设计房屋租赁管理系统p8pvy(源码+程序+LW+部署)
- AI内容生成工具列表,可用于生成 AI 内容的工具列表。具有图像生成、文本生成等功能。
- 新建Excel无法打开解决办法
- 敏捷项目用户故事地图
- Cesium结合高德SDK路径规划
- RPlidar(一)——雷达试用
- 论计算机网络的安全性设计-1
- 会计 制造费用转生产成本
热门文章
- python-matplotlib给图像添加文本标签与注释
- IDC中国区副总裁武连峰:打造数据驱动的未来创新企业
- 【Python游戏】Python实现低配版王者荣耀,除了没有打野啥都有,你确定不心动嘛?
- 超实用的30 个简短的代码片段(一)
- ​抗击新型冠状病毒,科技公司捐赠武汉排行榜名单
- c语言怎么捕获鼠标的动作,请问,怎样捕获键盘、鼠标的动作。
- 16条触动人心的心灵鸡汤经典语录,句句精辟,温暖又励志!(大神们看一看)
- 处理鼠标连续点击的问题
- 简要分析最近很热门的魍魉职业
- oracle lob表空间,如何将Oracle(C)LOB导入另一个表空间