作者LPH66 (-858993460)
看板Prob_Solve
标题Re: [问题] RSTA(Rotated Summed Area Table)
时间Thu Aug 11 19:38:18 2011
这个演算法其实是在用这个方法来算 R(x,y):
■■■■■■■ ■■■■■■■ ■■
■■■■■ ■■
■■■■■
■
■■■■■■ ■
■■■■■■ ■■■
■■■■ ■■■
■■■■
■■
■■■■■ = ■■
■■■■■ + ■■■■
■■■ - ■■■■■■■
■■■
■■■■ ■■■■■■■ ■■■■■■■ ■■■■■■■
■■■■■■■ ■■■■■■■ ■■■■■■■ ■■■■■■■
R(x,y) = R(x-1,y-1) + R(x+1,y-1) - R(x,y-2)
■■■■■■■
■■■■■■■
+ ■■■
■■■■
■■■
■■■■
■■■■■■■
+ I(x,y)+I(x,y-1)
如果把它套在你的问题点 (0,2) 上就会发现变成了这样:
■■■■■
■■■■■
■■■■■
■■■■■ ■■■■■
■■■■■ ■■■■■ ■
■■■■ ■■■■■
■■■■■
■■■■■ = ■■■■■ + ■■■■■ - ■■■■■ +
■■■■■
■■■■■ ■■■■■ ■■■■■ ■■■■■ ■■■■■
■■■■■ ■■■■■ ■■■■■ ■■■■■ ■■■■■
R(0,2) = R(-1,1) + R(1,1) - R(0,0) + I(0,2)+I(0,1)
图形是应该要有的值 但 R(-1,1) 的值却不是这个地方的和而是 0 於是产生错误
所以正确说来边界条件应该要修正为
R(-1,y) = R(0,y-1)
R(w,y) = R(w-1,y-1) (w 是图宽)
这样就会对了
至於 y < 0 的边界条件设为 0 是没有问题的
因为那等於是在图上方的区域 当然和为 0
--
话说我 google 到的 RSAT 介绍网页用的也是这个错误的边界条件...
该不会原论文这里就错了吧?!
(看那网页的 Bibliography 原论文应该是 2002 年发表的...
这麽近代的东西会犯这种小错误这还颇微妙...)
--
実琴:「
河野!你真的就这样被
物质慾望给吸引过去了吗?!」
亨:「只要
穿着女装摆出亲切的样子,所有必要花费就能
全免,似乎一点都不坏啊。」
実琴:「难道你没有
男人的尊严了吗?!」
亨:(断然道)「
没有。在
节衣缩食且
生活吃紧的
学生面前,
没有那种东西。」
--プリンセス・プリンセス 第二话
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.24.158
1F:推 pigcat1315: 不过若改成 R(-1,y)=R(0,y-1) 带 (0 1)会错耶@@ 08/11 20:17
2F:→ LPH66:R(0,1)=R(-1,0)+R(1,0)-R(0,-1)+I(0,1)+I(0,0) 08/11 20:57
3F:→ LPH66:第一项变成R(0,-1)依然是0 第三项也是0 08/11 20:58
4F:→ LPH66:第二项就是I(1,0)一个 所以答案还是正确的... 08/11 20:59
补充一下好了
其实原式可以改成不需要左右两边的边界条件
但相对的就是公式变复杂一些些:
改动的只有最左边和最右边两条的公式
R(0,y)=R(1,y-1)+I(0,y)+I(0,y-1)
R(w-1,y)=R(w-2,y-1)+I(w-1,y)+I(w-1,y-1)
其他的 R 值照原来的式子计算
之所以能这样改是因为 (请对照原文图) 红色和紫红色区域在 x=0 时一定相等
相对的在 x=w-1 时是蓝色和紫红色区域相等
因此它们就会一正一负抵消 就成了上式了
如果你要用这个方法去计算也是可以 这样就不需要管左右两边的边界条件了
※ 编辑: LPH66 来自: 140.112.24.158 (08/11 21:11)
5F:推 tropical72: 受教,推。 08/11 21:30
6F:推 pigcat1315::) 原来是我以为要带原来y 谢谢我可以来写成code了 08/11 21:55
7F:→ pigcat1315:^^感谢LPH大大 08/11 21:56
修正一个笔误 orz
※ 编辑: LPH66 来自: 140.112.24.158 (08/12 00:01)