【问题标题】:EmguCV Skin DetectionEmguCV 皮肤检测
【发布时间】:2012-09-12 11:28:49
【问题描述】:

我正在使用 EmguCV 在 c# 中进行皮肤检测方法。对于皮肤检测,我指的是article。我是 EmguCV 的新手。我只想知道如何获取或设置通过网络摄像头捕获的图像的每个像素值。如果皮肤像素匹配,则变为白色,否则变为黑色。我只想要像素的 RGB 值而不降低应用程序的性能。

【问题讨论】:

    标签: c# emgucv


    【解决方案1】:

    要获取或设置图像的每个像素值,您可以按照以下方式轻松完成

     Image<Bgr, Byte> img = ....
    
     for (i = 0; i < img.Height; i++)
     {
         for (k = 0; k < img.Width; k++)
         {
             // Get 
             // Color ( R, G, B, alpha) 
             Color c = img[i, k];
    
             // Set 
             img[i,k] = new Bgr();
          }
     }
    

    它将就地写入

    【讨论】:

    • 我试过这段代码。它在图像上运行良好,但对于实时视频源,它会减慢速度。 emgucv 中是否有任何背景去除技术。我也尝试了 _foreground 检测器技术。但它也会减慢程序的速度。
    • 你可以尝试某种掩蔽来减少完整的图像处理
    • 不要访问每个循环的 img.height 和 width - 这是问题的一部分。还有一种更快的方法可以使用指针访问图像中的数据。
    猜你喜欢
    • 1970-01-01
    • 2012-10-09
    • 2015-08-06
    • 2018-05-11
    • 2017-12-30
    • 2017-03-28
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多