السلام عليكم و رحمة الله و بركاته ،،
المشكلة باختصار انني استخدم هذا الكود لاستخراج Fourier descriptors لصورتين مرفقتين بينما تكون النتائج مختلفة تماما فما المشكلة اذن ؟
[x3,y3] = find(im3,1); [x4,y4] = find(im4,1); b3 = bwtraceboundary(im3,[x3 , y3],'N',8,nnz(im3),'clockwise'); b4 = bwtraceboundary(im4,[x4 , y4],'N',8,nnz(im4),'clockwise'); f3 = frdescp(b3); f4 = frdescp(b4); f3 = abs(f3); f4 = abs(f4); f3 = f3(2:10); f4 = f4(2:10); f3 = f3/f3(1); f4 = f4/f4(1);
و لما باعمل plot للـ b3 , b4 باحصل على الصورتين دول
http://i46.tinypic.com/x5nrk7.png
http://i50.tinypic.com/oi9h8k.png
في حين ان قيمة f3 هي
1.0000
0.6550
0.4776
0.6454
0.1478
0.8498
0.4893
0.9819
0.7874
و قيمة f4 هي
1.0000
2.0077
0.4963
0.3795
0.5872
1.0960
0.8823
0.8092
0.8482
رغم ان الصورتين متشابهتين جدا زي ما انتوا ملاحظين بينما الفروق كبيرة و احيانا صور تانية بشكل مختلف خالص بتطلع أقرب في ارقامها للصور دي من بعض مما يسبب اخطاء كبيرة في التصنيف لاحقا classification
ما الخطأ اذن ؟