当前位置 : 主页 > 编程语言 > python >

【水果检测】基于计算机视觉实现柑橘质量检测及分级系统含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 水果分级技术能够保证水果的质量,提高消费者的满意度,增强水果产业的竞争力和利润水平。农业现代化进程的加快使得农产品品质检测和分级技术显得更加重要。在我国,水果品

1 简介

水果分级技术能够保证水果的质量,提高消费者的满意度,增强水果产业的竞争力和利润水平。农业现代化进程的加快使得农产品品质检测和分级技术显得更加重要。在我国,水果品质检测绝大部分仍停留在靠人工感官进行识别判断的原始阶段,这种主观评定效率低,误差大。这导致了我国出口水果的外观质量较差,良莠不齐,大小不一,在国际市场上缺乏竞争力,提高我国水果的品质检测水平是当务之急。与其它检测技术相比,计算机视觉技术的特点是速度高、信息量大、功能多,而且可以测量定量指标。

【水果检测】基于计算机视觉实现柑橘质量检测及分级系统含Matlab源码_数据

2 部分代码

function [ImageOut] = HomoFilter(ImageIn, High, Low, C, Sigma)
Img = double(ImageIn); % 转换图像矩阵为双精度型,不会改变数据本身
[Height, Width] = size(ImageIn); % 返回的行数和列数
CenterX = floor(Width / 2); % 中心点坐标
CenterY = floor(Height / 2);
LogImg = log(Img + 1); % 图像对数数据
Log_FFT = fft2(LogImg); % 傅里叶变换
for Y = 1 : Height
for X = 1 : Width
Dist= (X - CenterX) * (X - CenterX) + (Y - CenterY) * (Y - CenterY); % 点(X,Y)到频率平面原点的距离
H(Y, X)=(High - Low) * (1 - exp(-C * (Dist / (2 * Sigma * Sigma)))) + Low; % 同态滤波器函数
end
end
H = ifftshift(H); % 对H做反中心化
Log_FFT = H.* Log_FFT; % 滤波,矩阵点乘
Log_FFT = ifft2(Log_FFT); % 反傅立叶变换
Out = exp(Log_FFT)-1; % 取指数
% 指数处理ge = exp(g)-1;% 归一化到[0, L-1]
Max = max(Out(:));
Min = min(Out(:));
Range = Max - Min;
for Y = 1 : Height
for X = 1 : Width
ImageOut(Y, X) = uint8(255 * (Out(Y, X) - Min) / Range);
end
end
end

3 仿真结果

【水果检测】基于计算机视觉实现柑橘质量检测及分级系统含Matlab源码_计算机视觉_02

【水果检测】基于计算机视觉实现柑橘质量检测及分级系统含Matlab源码_数据_03

【水果检测】基于计算机视觉实现柑橘质量检测及分级系统含Matlab源码_matlab代码_04

4 参考文献

[1]彭良刚, 吴有富. 一种基于计算机视觉的水果质量识别系统[C]// 2013.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【水果检测】基于计算机视觉实现柑橘质量检测及分级系统含Matlab源码_计算机视觉_05

网友评论