[已答复] 积分投影法标记缺陷

[复制链接]
6684 发表于 2021-6-3 03:12:49
本帖最后由 6684 于 2021-6-3 22:55 编辑

[filename, pathname] = uigetfile({'*.jpg;*.tif;*.png;*.gif','All Image Files';...
    '*.*','All Files' },'载入图像',...
    fullfile(pwd, 'images'));
if isequal(filename, 0) || isequal(pathname, 0)
    return;
end
I = imread(fullfile(pathname, filename));

    figure,imshow(I);

if (~isempty(I))
    handles.image=I;
else

    return;
end
%第二个axes:
if(~isempty(handles.image))
I=handles.image;
%image1=rgb2gray(image);

YT = rgb2gray(I);%将RGB 格式转换为灰度图像
%axes(handles.axes2);
%imshow(image1),title("灰度化",'Color','r','FontSize',20);


% 去噪%

%1 中值滤波去噪%

Ze = medfilt2(YT,[5,5]);

%2 增加对比度%

J=Ze;                    
Ih=imhist(Ze);  %显示图像image的灰度直方图;
Kh=histeq(J,Ih);%该函数通过直方图均衡化来增加对比度


BW1 = edge(Kh, 'canny',0.1); %canny边缘检测

figure,imshow(BW1),title("边缘检测",'Color','r','FontSize',20);
BW2=BW1;

这段代码做了预处理和边缘检测,我想后续用双向积分投影方法捕获缺陷区域的边缘信息,用最小外接矩形框把缺陷区域标注,实现缺陷区域检测,有没有大佬能给我提供一段代码啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

13 条回复


6684 发表于 2021-6-3 22:54:29
原图和需要的效果图我已经发出来了,需要先做积分投影,然后用最小矩形外框如效果图那样圈起来

6684 发表于 2021-6-3 03:15:58
用双向缺陷投影方法标记缺陷,输出矩形框

6684 发表于 2021-6-3 03:17:00
我不会发图片,请加我QQ848656359,我发原图和效果图

6684 发表于 2021-6-3 10:08:54
1111111111111111

6684 发表于 2021-6-3 10:10:09
11111111111111

lyqmath 发表于 2021-6-3 15:40:10
可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]


  1. clc; clear all; close all;
  2. I = imread('ceshi.jpg');
  3. figure,imshow(I);
  4. %将RGB 格式转换为灰度图像
  5. YT = rgb2gray(I);
  6. % 去噪%
  7. %1 中值滤波去噪%
  8. Ze = medfilt2(YT,[5,5]);
  9. %2 增加对比度%
  10. J=Ze;
  11. Ih=imhist(Ze);  %显示图像image的灰度直方图;
  12. Kh=histeq(J,Ih);%该函数通过直方图均衡化来增加对比度
  13. BW1 = edge(Kh, 'canny',0.1); %canny边缘检测
  14. figure,imshow(BW1),title("边缘检测",'Color','r','FontSize',20);
  15. BW2=BW1;
  16. % 这段代码做了预处理和边缘检测,我想后续用双向积分投影方法捕获缺陷区域的边缘信息,
  17. % 用最小外接矩形框把缺陷区域标注,实现缺陷区域检测,有没有大佬能给我提供一段代码啊
  18. BW2 = imclearborder(BW2);
  19. rs = sum(BW2, 1);
  20. cs = sum(BW2, 2);
  21. [max_rs, ind_max_rs] = max(rs);
  22. ind1 = find(rs>max_rs*0.5);
  23. ind2 = find(rs>max_rs*0.7);
  24. ct = [ind1(1) ind2(end)];
  25. [max_cs, ind_max_cs] = max(cs);
  26. ind3 = find(cs>max_cs*0.6);
  27. ind4 = find(cs>max_cs*0.8);
  28. rt = [ind4(end) ind3(end)];
  29. figure,imshow(I);
  30. hold on;
  31. plot([ct(1) ct(1)], [1 size(BW2,1)], 'r-');
  32. plot([ct(2) ct(2)], [1 size(BW2,1)], 'g-');
  33. plot([1 size(BW2,2)], [rt(1) rt(1)], 'r-');
  34. plot([1 size(BW2,2)], [rt(2) rt(2)], 'g-');

复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

6684 发表于 2021-6-3 22:44:38
本帖最后由 6684 于 2021-6-3 23:00 编辑
lyqmath 发表于 2021-6-3 15:40
可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

谢谢,不过对我那个图来说不是正好框起来的,有没有别的方法呀,我在上面放了我的原图和效果图

6684 发表于 2021-6-4 20:15:06
1111111111

lyqmath 发表于 2021-6-7 16:38:34
本帖最后由 lyqmath 于 2021-6-7 16:39 编辑

可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]




  1. clc; clear all; close all;
  2. im = imread('./im.jpg');
  3. im = rgb2gray(im);
  4. im2 = imcomplement(im);
  5. bw = im2bw(im2, 0.65);
  6. bw2 = imclose(bw, strel('disk', 50));
  7. bw2 = bwareafilt(bw2,1);
  8. bw = bw.*bw2;
  9. % 方法1
  10. rs = sum(bw,1);
  11. cs = sum(bw,2);
  12. ind1 = find(rs > 1);
  13. ind2 = find(cs > 1);
  14. rect = [ind1(1) ind2(1) ind1(end)-ind1(1) ind2(end)-ind2(1)];
  15. figure; imshow(im, []);
  16. hold on;
  17. rectangle('Position', rect, 'EdgeColor', 'c', 'LineWidth', 2, 'LineStyle', '-');
  18. % 方法2
  19. [y,x] = find(bw);
  20. [rectx,recty,area,perimeter] = get_minboundrect(x,y);
  21. figure; imshow(im, []);
  22. hold on;
  23. plot(rectx,recty,'r-','LineWidth',2);



复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

yu0801 发表于 2021-6-15 22:22:03
lyqmath 发表于 2021-6-3 15:40
可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

老师您好!我最近在做木材缺陷检测,我看您出版了一本书,在一个帖子里还贴出了木板缺陷画框的图,我想咨询下这本书里有这个缺陷检测内容吗?我买一本

yu0801 发表于 2021-6-15 22:22:35
lyqmath 发表于 2021-6-3 15:40
可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

老师您好!我最近在做木材缺陷检测,我看您出版了一本书,在一个帖子里还贴出了木板缺陷画框的图,我想咨询下这本书里有这个缺陷检测内容吗?我买一本

lyqmath 发表于 2021-6-16 08:52:39
yu0801 发表于 2021-6-15 22:22
老师您好!我最近在做木材缺陷检测,我看您出版了一本书,在一个帖子里还贴出了木板缺陷画框的图,我想咨 ...

您好,有裂缝测量的内容,方法是类似的

yu0801 发表于 2021-6-16 08:57:17
lyqmath 发表于 2021-6-16 08:52
您好,有裂缝测量的内容,方法是类似的

好的,我先把书买来,再联系您索取代码哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表