Win8 Metro(C#)数字图像处理--2.39二值图像投影
2024-09-01 13:49:40
原文:Win8 Metro(C#)数字图像处理--2.39二值图像投影
[函数名称]
二值图像投影 ImageProjection(WriteableBitmap src)
[算法说明]
[函数代码]
<pre class="csharp" name="code"> /// <summary>
/// Get projections of X and Y direction.
/// </summary>
/// <param name="src">The source image.</param>
/// <returns></returns>
public static int[][] ImageProjection(WriteableBitmap src)////二值图像投影
{
if (src != null)
{
int w = src.PixelWidth;
int h = src.PixelHeight;
int[][] Centerpoint = new int[2][];
Centerpoint[0] = new int[w+1];
Centerpoint[1] = new int[h+1];
int b = 0, g = 0, r = 0;
byte[] temp = src.PixelBuffer.ToArray();
for (int y = 0; y < h; y++)
{
for (int x = 0; x < w * 4; x += 4)
{
b = temp[x + y * w * 4];
g = temp[x + 1 + y * w * 4];
r = temp[x + 2 + y * w * 4];
if (r + g + b == 0)
{
Centerpoint[1][y]++;
}
}
}
for (int x = 0; x < w * 4; x += 4)
{
for (int y = 0; y < h; y++)
{
b = temp[x + y * w * 4];
g = temp[x + 1 + y * w * 4];
r = temp[x + 2 + y * w * 4];
if (r + g + b == 0)
{
Centerpoint[0][(int)(x/4)]++;
}
}
}
return Centerpoint;
}
else
{
return null;
}
}
最新文章
- 编写实现连接oracle数据库并返回Connection对象的Java工具类
- List集合对象根据字段排序
- Ubuntu解压命令大全
- Ubuntu文本编辑时vi和nano命令的区别(建议使用nano)
- 转:程序员必须知道的几个Git代码托管平台
- 理解Node.js事件驱动编程
- My集合框架第五弹 最小堆
- Java Swing 快捷键
- 详解boost库中的Message Queue .
- oracle中闪回错误的dml操作原理
- python文件I/O
- TFS应用经验-大型项目数据仓库抽取导致的TFS应用无法访问
- 初学Java的那段日子
- DCM、PLL、PMCD、MMCM相关
- EF Core中DbContext可以被Dispose多次
- python return 及lambda函数
- (转)Elasticsearch索引mapping的写入、查看与修改
- Asp.Net Core 连接Mysql
- linux 下mongodb 3.2.5单机版安装
- PytorchZerotoAll学习笔记(二)--梯度下降之手动求导