我想要在圖像[大小:512 X 512]中檢測類型:y^2 = 4a * x的拋物線。我準備了一個累加器陣列,acc [size:512 X 512 X 512]。我準備了與該圖像對應的MATRIX。我用了霍夫變換。這是我如何做到了:OpenCV:使用霍夫變換的拋物線檢測
for x = 1 to 512
for y= 1 to 512
if image_matrix(x,y)> 245//almost white value, so probable to be in parabola
{
for x1= 1 to 512
for y1= 1 to 512
{
calculate 'a' from (y-y1)^2 = 4*a*(x-x1).
increment acc(i,j,k) by 1
}
}
if acc(i,j,k) has a maximum value.
{
x1=i, y1=j,a =k
}
我面臨以下問題:
1)ACC [512] [512] [512]需要大的存儲器。它需要大量的計算。我怎樣才能減少數組的大小,從而最小化計算? 2)不總是acc(i,j,k)的最大值賦值給出預期的輸出。有時候,第二或第三最大值,甚至最大值的第10位給出了預期的輸出。我需要約。 'a','x1','y1'(非精確值)的值。
請幫幫我。我的概念有錯嗎?
你可以發佈一個鏈接到圖像的例子 –