作者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