public Bitmap circle(Bitmap img)
{
int[, ,] A = new int[img.Width, img.Height, 100];
for (int x = 0; x < img.Width; x++)
{
for (int y = 0; y < img.Height; y++)
{
Color c = img.GetPixel(x, y);//获取每个象素点的值,
byte cc = c.R;//获取一种颜色的值
if (cc == 255)//判断是不是边界上的象素点,是的话,进行霍夫变化
{
for (int a = 0; a < img.Width; a++)
{
for (int b = 0; b < img.Height; b++)
{
int r = (int)Math.Abs(Math.Sqrt((x - a) * (x - a) + (y - b) * (y - b)));
if (r <100)//由圆的公式计算出半径r
{ A[a, b, r] = A[a, b, r] + 1; }//对应的累加器
}
}
}
c#图像处理-利用霍夫检测得到未知圆坐标半径
最新推荐文章于 2024-09-17 18:15:04 发布