[已答复] 关于图像边缘轮廓上色的问题

[复制链接]
hoyeung123 发表于 2021-5-19 13:51:03
请问如何对15号物体和25号物体轮廓上色,分别为红色和蓝色

本帖子中包含更多资源

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

x

2 条回复


gywxd 发表于 2021-5-20 08:07:42
对 每个快 绘制矩形框 之前  先跑一遍计算一些这个块的 像素量, 找到最大量最小量
然后绘图的时候再计算 像素量 ,然后 像素量相同的  进行不同着色就行了啊

lyqmath 发表于 2021-5-28 15:32:25
本帖最后由 lyqmath 于 2021-5-28 15:33 编辑

可以

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

使用一个比较简单的方法,如下



  1. clear all; clc; close all;
  2. Xo=imread('ceshi.png');
  3. X=im2bw(Xo);
  4. X=imclose(X,strel('disk',3));
  5. X=imclearborder(X);
  6. [L,num]=bwlabel(X);
  7. stats = regionprops(L);
  8. ar = cat(1,stats.Area);
  9. [~,ind]=sort(ar);
  10. bw1 = X;
  11. bw1(L~=ind(1)) = 0;
  12. bw1 = bwperim(bw1); bw1 = imdilate(bw1, strel('disk',3));
  13. bw2 = X;
  14. bw2(L~=ind(end)) = 0;
  15. bw2 = bwperim(bw2); bw2 = imdilate(bw2, strel('disk',3));
  16. Xr=im2uint8(mat2gray(Xo(:,:,1))); Xr(bw1)=0; Xr(bw2)=0;
  17. Xg=im2uint8(mat2gray(Xo(:,:,2))); Xg(bw1)=0; Xg(bw2)=255;
  18. Xb=im2uint8(mat2gray(Xo(:,:,3))); Xb(bw1)=255; Xb(bw2)=0;
  19. Y=cat(3,Xr,Xg,Xb);
  20. figure; imshow(Y);
复制代码


本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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