【问题标题】:Converting Ycbcr Image to grayscale with Aforge.net使用 Aforge.net 将 Ycbcr 图像转换为灰度
【发布时间】:2012-12-23 09:18:59
【问题描述】:

我是 Aforge.net 的新手。
我已经使用 Aforge.Net 使用 YCbCr 过滤器进行过滤和图像

YCbCrFilter.Y = new Range(0, 1);
YCbCrFilter.Cb = new Range(-0.1862745098039216f, 0.0294117647058824f);
YCbCrFilter.Cr = new Range(0.0137254901960784f, 0.2254901960784314f);
// apply the filter
var YCbCrFilteredImage = YCbCrFilter.Apply(bitmap);

我需要将生成的图像(即 YCbCrFilteredImage )转换为 Grayscale 图像,以便稍后将其转换为黑白图像。
那么如何进行灰度转换呢?

【问题讨论】:

  • 使用灰度类。这是相当基本的,在你问问题之前先看看周围。 aforgenet.com/framework/docs/html/…
  • 我实际上搜索了很多,但我不明白如何为这个方法设置 (r,g,b) 值。非常感谢您的帮助。

标签: c# aforge


【解决方案1】:

Salam Ruba 使用这个灰度值 Grayscale(0.2125, 0.7154, 0.0721) 和阈值 BradleyLocalThresholding 是这个库中最好的。也可以代替 YCbCrFilter,也许您想使用 HSL Filtering,这是适合您的代码

    YCbCrFiltering YCbCrFilter = new YCbCrFiltering();
    YCbCrFilter.Y = new Range(0, 1);
    YCbCrFilter.Cb = new Range(-0.1862745098039216f, 0.0294117647058824f);
    YCbCrFilter.Cr = new Range(0.0137254901960784f, 0.2254901960784314f);
    // apply the filter
    var YCbCrFilteredImage = YCbCrFilter.Apply(bitmap);
    Grayscale gfilter = new Grayscale(0.2125, 0.7154, 0.0721);
    YCbCrFilteredImage = gfilter.Apply(YCbCrFilteredImage);
    BradleyLocalThresholding thfilter = new BradleyLocalThresholding();
    thfilter.ApplyInPlace(YCbCrFilteredImage);

您现在可以搜索 blob ;)

【讨论】:

    猜你喜欢
    • 2012-06-15
    • 2010-11-20
    • 2021-06-06
    • 2018-12-19
    • 2018-08-15
    相关资源
    最近更新 更多