1 / 9

FGHT Implementation Using Sparse-Array

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

thane
Download Presentation

FGHT Implementation Using Sparse-Array

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. FGHT Process • Step 1:Line segment approximation • Step 2: Creation of an extended C-table • Step 3: Shape detection processes

  3. 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 )

  4. 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 );

  5. 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 );

  6. Test ( General-array V.S Sparse-array ) Image-1 Image-2 Template Template Object Object

  7. 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

  8. 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

  9. Thanks for your attention

More Related