如何解决填充孔不会填充我需要的每个部分我能做些什么吗? 避免graythresh
希望你能对我的斗争提出建议(matlab)。这是 Imfill 孔函数的结果,但它留下了许多未填充的段。有什么我可以尝试解决这个问题的吗?
填充(BW1,'孔')
解决方法
您可以将 bwmorph 与 'bridge'
参数结合使用,以弥合 imfill
之前的小间隙。
'桥'
桥接未连接的像素,即,如果它们有两个未连接的非零邻居,则将 0 值像素设置为 1。
这是一个代码示例:
I = imread('holes.jpg');
% Remove top and bottom "white frame".
I = I(7:end-6,:);
% Convert to binary image with manual threshold (could be that binarize is required only due to JPEG artifacts).
I = imbinarize(I,0.3);
% Bridges unconnected pixels (morphological operation).
J = bwmorph(I,'bridge');
% Fill holes
K = imfill(J,'holes');
备注:
- 请考虑发布原始图片(填充前)。
- 考虑以 PNG 格式而不是 JPEG 格式发布图像 - JPEG 压缩会丢失信息并产生压缩伪像。
- 您发布的图片有一个“白框”,这可能不是原始图片的一部分。我决定保留左右部分来填充边框旁边的形状。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。