本文整理汇总了C#中System.Image.connectLevel方法的典型用法代码示例。如果您正苦于以下问题:C# Image.connectLevel方法的具体用法?C# Image.connectLevel怎么用?C# Image.connectLevel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Image
的用法示例。
在下文中一共展示了Image.connectLevel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Split
public Image<Gray, byte>[] Split(Image<Gray, byte> src)
{
var result = new List<Image<Gray, Byte>>();
var cl = src.connectLevel(1, 8, 0);
var position_image = new List<Tuple<int, Image<Gray, Byte>>>();
foreach (var domain in cl.Domains) {
int most_left = int.MaxValue, most_right = 0;
foreach (var point in domain.Points) {
if (point.X < most_left) most_left = point.X;
if (point.X > most_right) most_right = point.X;
}
int padding = 5;
var split = new Image<Gray, Byte>(padding * 2 + (most_right - most_left), src.Height);
foreach (var point in domain.Points) {
int x = point.X, y = point.Y;
split[y, padding + x - most_left] = src[point];
}
position_image.Add(new Tuple<int, Image<Gray, byte>> {
First = most_left,
Second = split
});
}
foreach (var tp in position_image.OrderBy(t => t.First)) {
result.Add(tp.Second);
}
return result.ToArray();
}
示例2: Process
public Image<Gray, byte> Process(Image<Gray, byte> src)
{
var dst = src.Clone();
Connectivity.Connect8 = this.Connect8;
var cl = src.connectLevel(1, 8, 0);
foreach (var dm in cl.Domains) {
if (dm.Area < Threshold) {
foreach (var p in dm.Points) {
dst[p] = new Gray(0);
}
}
}
return dst;
}