页面载入中...

当前位置:首页 > 源文件素材 > 管理系统 > 管理系统

条形码缺陷检测代码

温馨提示:本信息由会员搜集整理发布,您如有异议可以 举报 或者 版权申诉
条形码缺陷检测代码条形码缺陷检测:条码中(检测样本的)可能存在的断码、白点、黑点等影响条码外观的瑕疵,检测这些瑕疵,并用红色矩形框将其标出。部分代码:clear;close all;clc;%%

条形码缺陷检测代码

条形码缺陷检测:条码中(检测样本的)可能存在的断码、白点、黑点等影响条码外观的瑕疵,检测这些瑕疵,并用红色矩形框将其标出。

部分代码:

clear;
close all;
clc;
%% Binarize the input image
im = imread('images/barcode_7.png');
im_gray = rgb2gray(im); 
level = graythresh(im_gray)
bw = im2bw(im_gray, level);
figure; 
subplot(3, 2, 1); imshow(im_gray); title('original image');
subplot(3, 2, 2); imshow(bw); title('binary result');
%% 基于二值图像bw,将二维码瑕疵区域检测出来 
detect = ~bw;
% subplot(3, 2, 3);imshow(detect); title('detect');
hold on
SE=strel('rectangle',[1 30]);
detect = imdilate(~bw, SE);
f = maxLianTongYu(detect);          %分离第一个二维码
s = maxLianTongYu(detect-f);        %分离第二个二维码
f = f + s;
ROI = imdilate(f, strel('rectangle',[30 30]));
ROI = imerode(ROI, strel('rectangle',[40 40]));  %白色二维码区域
first = f&~bw;                
first = medfilt2(first,[1,5]);         %中值滤波,让过小的缺陷横向特征更明显
% subplot(3, 2, 4);imshow(~first); title('first');
first = imerode(~first, strel('rectangle',[1 35])); %去除竖码条
first = imdilate(first, strel('rectangle',[10 10]));    %让缺陷部分更突出
first = first & ROI;
first = medfilt2(first,[15,2]);         %中值滤波[15,14]
first = medfilt2(first,[18,12]); 
first = imdilate(first, strel('rectangle',[10 10]));


条形码缺陷检测代码

  

版权申诉下载地址/官方地址

暂无官方 认领官方点击查看地址
金聪精品提示:[ 条形码缺陷检测代码 ] 仅为内部分享交流,请勿用于其他用途。以学习技术参考理念为目的使用该分享资源,如果想商用,请自行联系版权方获取授权后使用。任何未获取授权的商业使用与本站无关,请自行承担相应责任。
本站不存储任何资源文件,敬请周知!
免责申明:本站不存储任何资源文件,敬请周知!本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以处理。版权申诉相关说明
本网站采用 BY-NC-SA 协议进行授权 转载请注明原文链接:条形码缺陷检测代码

延伸阅读:

  
 

条形码缺陷检测代码