Generalized Fuzzy Hough Transform for Shape Detection in Noisy Images
This paper presents a Generalized Fuzzy Hough Transform (GFHT) for detecting arbitrary shapes in vague and noisy images. The method involves a three-step process: line segment approximation, creation of an extended C-table, and the shape detection process. Key components include the sparse array class, C_TABLE structure, and functions for obtaining line segments and creating the C-table. Experimental results demonstrate improved performance with sparse arrays in terms of voting time and memory usage compared to traditional general arrays.
Generalized Fuzzy Hough Transform for Shape Detection in Noisy Images
E N D
Presentation Transcript
FGHT Implementation Using Sparse-Array Shun-Ying Gan Suetake N., Uchino E. and Hirata K., 2006, “Generalized fuzzy Hough Transform for detecting arbitrary shapes in a vague and noisy image,” Soft Computing, Vol. 10, pp. 1161-1168.
FGHT Process • Step 1:Line segment approximation • Step 2: Creation of an extended C-table • Step 3: Shape detection processes
FGHT Class Implementation • The structure for C_table struct C_TABLE { float deltaA; float deltaB; float tauC; int cx; int cy; float Lab; float beta; int tx; int ty; } • Use sparse array class CINTSparseArray *sa; Ballot-box ( xr: 640/8, yr: 480/8, θ: 360, k: 20 )
Main function • int GetAllBlockLineSegment( Byte **srcImg, int blockSize, int blockXNum, int blockYNum, BLOCK_LINE_SEGMENT *blsArray); • void CreateC_Table( int blsNum ); • VOTE_BOX ShapeDetection( int topNum );
How to use FGHT class • Create FGHT class ht = new CHoughTransform; • Create C_Table ( from template image ) ht->tempBlsNum = ht->GetAllBlockLineSegment( tempBin->Buf, ht->BlockSize, ht->tempBlockXNum, ht->tempBlockYNum, ht->tempBlsArray ); ht->CreateC_Table( ht->tempBlsNum ); • Shape Detection ( from object image ) ht->srcBlsNum = ht->GetAllBlockLineSegment( srcBin->Buf, ht->BlockSize, ht->srcBlockXNum, ht->srcBlockYNum, ht->srcBlsArray ); VOTING_ARRAY va = ht->ShapeDetection( 1 );
Test ( General-array V.S Sparse-array ) Image-1 Image-2 Template Template Object Object
Image-1 • C_Table list count: 1492 • General Array • Vote Time: 5871 ms • Memory Size: 131 MB • Sparse array • Vote Time: 3672 ms • Memory Size: 352 KB
Image-2 • C_Table list count: 2091 • General Array • Vote Time: 8906 ms • Memory Size: 131 MB • Sparse array • Vote Time: 8219 ms • Memory Size: 406 KB