0
点赞
收藏
分享

微信扫一扫

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

小安子啊 2022-03-30 阅读 36
matlab

​1 简介

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

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    endend

3 仿真结果

4 参考文献

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

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

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

举报

相关推荐

0 条评论