2012-12-23 36 views
0

我是Aforge.net的新用戶。
我已經過濾,並用圖像的YCbCr濾波器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形象,後來轉換成黑白圖像。
那麼我怎樣才能轉換成灰度?

+1

使用灰度級。這是相當基本的,在你問一個問題之前再看看。 http://www.aforgenet.com/framework/docs/html/d7196dc6-8176-4344-a505-e7ade35c1741.htm –

+0

我實際上搜索了很多,但我不知道如何設置(r,g,b)值對於這種方法。非常感謝你的幫助。 – Ruba

回答

0

Salam Ruba ,,使用這個灰度值灰度值(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); 

您可以搜索斑點現在的代碼;)