Connect Pixels

Connect pixels into a continuous boundary

您现在正在关注此提交

Checks each pixel of a logical array to see if it is connected to other pixels in at least two directions. If it's not, it attempts to draw connections to the nearest unconnected pixel until it is, or until it reaches the maximum layer, rMax.
The region and checking order of nearby pixels are given by the edgeVecs vector (see edgeVecs folder), and r indexes the layers to check.

The goal is to take an outline with holes and breaks and create a continuous boundary which can then be used with e.g. imfill(mask,'holes') to create a contiguous region.

**Note**
The behavior of the algorithm can be changed by editing the edgeVecs array, which makes it very flexible to specific applications, while still allowing a general user to use a common pattern from the sample folder.

I have optimized it as much as possible and created a mex function which is very fast.

引用格式

Keith Coffman (2026). Connect Pixels (https://ww2.mathworks.cn/matlabcentral/fileexchange/57062-connect-pixels), MATLAB Central File Exchange. 检索时间: .

致谢

参考作品: Bresenham optimized for Matlab

一般信息

MATLAB 版本兼容性

  • 兼容任何版本

平台兼容性

  • Windows
  • macOS
  • Linux
版本 已发布 发行说明 Action
1.2.0.0

Optimized file for speed, added edgeVecs functionality, and added example files.

1.0.0.0

(Added note on the use of edgeVecs array)