2011-08-25 72 views
0

我试图做一个关于如何使用HoughTransformation类的AForge的实验。我使用这个类来尝试计算图像上的圆圈数量。但我总是得到这个错误信息:源图像的不支持的像素格式。 这里是我的代码:AForge Hough变换

private void CountCircles(Bitmap sourceImage) 
{ 
    HoughCircleTransformation circleTransform = new HoughCircleTransformation(15); 
    circleTransform.ProcessImage(sourceImage); 
    Bitmap houghCircleImage = circleTransform.ToBitmap(); 
    int numCircles = circleTransform.CirclesCount; 
    MessageBox.Show("Number of circles found : "+numCircles.ToString()); 
} 

回答

1

HoughCircleTransformation预计二进制位图。

private void CountCircles(Bitmap sourceImage) 
{ 
    var filter = new FiltersSequence(new IFilter[] 
    { 
     Grayscale.CommonAlgorithms.BT709,              
     new Threshold(0x40) 
    }); 
    var binaryImage = filter.Apply(bitmap); 
    HoughCircleTransformation circleTransform = new HoughCircleTransformation(15); 
    circleTransform.ProcessImage(binaryImage); 
    Bitmap houghCircleImage = circleTransform.ToBitmap(); 
    int numCircles = circleTransform.CirclesCount; 
    MessageBox.Show("Number of circles found : "+numCircles.ToString()); 
}