作者smallblack11 (詹姆士布雷克)
看板MATLAB
標題[問題] 矩陣問題
時間Tue Jun 19 11:54:53 2012
設A=300x300的一個矩陣
而A矩陣內假設有隨機5個點
而想在這五個隨機點都加入一個矩形大小的框框
而我使用的一個方法是
設框框大小為50*50
那我寫法就是如下:
C=A(x1-S1:x1+S1,y1-S2:y1+S2)
其中(x1,y1)就是隨機的五個點的其中一個座標
而(S1,S2)就是我們所設的框框大小的一半
就會變成中心點往上下左右各延伸25個pixel
但這會有問題,若框框大小遇到奇數,即使用了floor函數
也有可能會產生少了1 pixel的問題,
請問有任何辦法是已經知道框框大小
直接把那框框套進去已知道的隨機座標點
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.122.248.152
1F:推 sunev:為什麼會少一個pixel ? 06/19 11:59
2F:→ doom8199:我覺得偶數邊長的 kernel 才需要擔心 XD 06/19 12:01
3F:→ doom8199:若 size 是 -(2n+1)x(2n+1) , 那 region = -n:n 06/19 12:02
4F:→ doom8199:且 C = A(x1 + region, y1 + region) 06/19 12:03
5F:→ doom8199:偶數的話則看原po怎麼定義。 另外要有防錯機制 index>0 06/19 12:04
6F:→ smallblack11:哈哈 因為好像是如果框框裡面的是49*37 06/19 12:41
7F:→ smallblack11:我的s1=49/2 s2=37/2 好像很難定義說是不是正確 06/19 12:42
8F:→ smallblack11:那框框裡面大小不一定是整數阿哈哈 這樣我往上減 06/19 12:42
9F:→ smallblack11:和往下減好像有機會出現少一個pixel 哈哈 06/19 12:43
10F:→ smallblack11:d大那個size那邊我看不太懂,為什麼要是2n+1 06/19 12:49
11F:→ smallblack11:哈哈 我懂了奇數了 恐怕要再想一下更快的方法了 06/19 12:55