[討論] 這段switch辨識程式碼我看不懂耶?已回收

看板MATLAB作者 (白開水)時間15年前 (2011/01/24 00:39), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
原碼如下: for i = 1 : length(STATS) W(i) = uint8(abs(STATS(i).BoundingBox(3)-STATS(i).BoundingBox(4)) < 0.1); W(i) = W(i) + 2 * uint8((STATS(i).Extent - 1) == 0 ); centroid = STATS(i).Centroid; switch W(i) case 1 plot(centroid(1),centroid(2),'wO');% 圆形 case 2 plot(centroid(1),centroid(2),'wX');% 矩形 case 3 plot(centroid(1),centroid(2),'wS'); % 正方形 end ......................................... 原理表達意思我懂,如下 % 正方形 = 3 = (1 + 2) = (X=Y and Extent = 1) % 矩形 = 2 = (0 + 2) = (X~=Y and Extent = 1) % 圆形 = 1 = (1 + 0) = (X=Y and Extent < 1) % 其它 = 0 但是 BoundingBox(3) 為何只能用3和4,我有試過其他數值但是不行動 因為switch裡也沒有提到3,4啊? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.193.87

01/24 00:51, , 1F
你把BoundingBOx() 輸入改成大於4的值, 再印出 W(i) 看
01/24 00:51, 1F

01/24 00:51, , 2F
值會是多少.
01/24 00:51, 2F
文章代碼(AID): #1DF5cpAE (MATLAB)
文章代碼(AID): #1DF5cpAE (MATLAB)