C#图像处理之图像目标质心检测的方法

 更新时间:2015年04月24日 10:23:15   作者:沧海一粟……  
这篇文章主要介绍了C#图像处理之图像目标质心检测的方法,可实现C#计算图像质心的相关技巧,需要的朋友可以参考下

本文实例讲述了C#图像处理之图像目标质心检测的方法。分享给大家供大家参考。具体如下:

//采用二值化图像,图像中黑色表示背景,白色表示目标
//定义质心计算函数
private int[] CentPoints(Bitmap src)
{
  //定义存储质心坐标的数组变量
  int[] CentreP = new int[2];
  int M00 = 0, M01 = 0, M10 = 0;
  Rectangle rect = new Rectangle(0, 0, src.Width, src.Height);
  System.Drawing.Imaging.BitmapData bmpData = src.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
  unsafe
  {
 int stride = bmpData.Stride;
 byte* p;
 byte* pIn = (byte*)bmpData.Scan0.ToPointer();
 int R, G, B;
 for (int y = 0; y < src.Height; y++)
 {
   for (int x = 0; x < src.Width; x++)
   {
 p = pIn;
 R = p[2];
 G = p[1];
 B = p[0];
 if (R + G + B != 0)
 {
   M00++;
   M01 += y;
   M10 += x;
 }
 pIn += 3;
   }
   pIn += stride - src.Width * 3;
 }
 CentreP[0] = (int)(M10 / M00);
 CentreP[1] = (int)(M01 / M00);
  }
  src.UnlockBits(bmpData);
  return CentreP;
  //返回一个数组,该数组中第一个元素是质心的X坐标,
  //第二个元素是质心的Y坐标
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#实现FTP客户端的案例

    C#实现FTP客户端的案例

    这篇文章主要为大家详细介绍了C#实现FTP客户端的小案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • c#委托与事件(详解)

    c#委托与事件(详解)

    本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论
    2021-07-07
  • 基于C#实现简易的键盘记录器

    基于C#实现简易的键盘记录器

    本文将利用C#语言和HOOK技术来做一个键盘记录器,看看一天下来,我们点击了多少次键盘,哪些键的使用频率最高,感兴趣的小伙伴可以尝试一下
    2022-08-08
  • C# Guid长度雪花简单生成器的示例代码

    C# Guid长度雪花简单生成器的示例代码

    这篇文章主要介绍了C# Guid长度雪花简单生成器的示例代码,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-12-12
  • Unity中3DText显示模糊不清的解决方案

    Unity中3DText显示模糊不清的解决方案

    这篇文章主要介绍了Unity中3DText显示模糊不清的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • .NET C#利用ZXing生成、识别二维码/条形码

    .NET C#利用ZXing生成、识别二维码/条形码

    ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。这篇文章主要给大家介绍了.NET C#利用ZXing生成、识别二维码/条形码的方法,文中给出了详细的示例代码,有需要的朋友们可以参考借鉴。
    2016-12-12
  • C#检测移动硬盘并获取移动硬盘盘符的方法

    C#检测移动硬盘并获取移动硬盘盘符的方法

    这篇文章主要介绍了利用C#检测移动硬盘并获取移动硬盘盘符
    2017-12-12
  • C#读取数据库返回泛型集合详解(DataSetToList)

    C#读取数据库返回泛型集合详解(DataSetToList)

    本篇文章主要是对C#读取数据库返回泛型集合(DataSetToList)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C#如何远程读取服务器上的文本内容

    C#如何远程读取服务器上的文本内容

    这篇文章主要介绍了C#如何远程读取服务器上的文本内容,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • c#使用netmail方式发送邮件示例

    c#使用netmail方式发送邮件示例

    这篇文章主要介绍了c#使用netmail方式发送邮件的示例,大家参考使用吧
    2014-01-01

最新评论