更新代码
This commit is contained in:
1 parent
eda7e8bc96
commit
6ff632e0b0
19 files changed
+2033
-197
No files matched your search
@@ -24,7 +24,7 @@ func TestFingerprintIdentical(t *testing.T) {
|
||||
if d := Of(a).Distance(Of(b)); d != 0 {
|
||||
t.Fatalf("相同画面应无差异,实际距离 %d", d)
|
||||
}
|
||||
if Of(a).Changed(Of(b), 5) {
|
||||
if Of(a).Changed(Of(b), 5, 0.01) {
|
||||
t.Fatal("相同画面不应判定为变化")
|
||||
}
|
||||
}
|
||||
@@ -37,11 +37,27 @@ func TestFingerprintDetectsChange(t *testing.T) {
|
||||
changed.SetGray(x, y, color.Gray{Y: 250})
|
||||
}
|
||||
}
|
||||
if !Of(changed).Changed(Of(base), 5) {
|
||||
if !Of(changed).Changed(Of(base), 5, 0.01) {
|
||||
t.Fatal("右半边变白应被判定为变化")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFingerprintDetectsSubtleLocalChange(t *testing.T) {
|
||||
// 整块画面背景一致,只有一小块文字/内容变了:8×8 感知哈希会被平均掉,
|
||||
// 但高分辨率细节网格的归一化平均差能可靠捕捉到。这正是"题目变了却检测
|
||||
// 不出来"这类问题的修复目标。
|
||||
base := solid(256, 256, color.Gray{Y: 200})
|
||||
changed := solid(256, 256, color.Gray{Y: 200})
|
||||
for y := 40; y < 90; y++ {
|
||||
for x := 40; x < 90; x++ {
|
||||
changed.SetGray(x, y, color.Gray{Y: 20})
|
||||
}
|
||||
}
|
||||
if !Of(changed).Changed(Of(base), 5, 0.01) {
|
||||
t.Fatal("局部小区域变化应被细节网格判定为变化")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEncodeJPEGResizesLongEdge(t *testing.T) {
|
||||
src := solid(2000, 400, color.Gray{Y: 128})
|
||||
raw, err := EncodeJPEG(src, 1280, 75)
|
||||
|
||||
Reference in new issue
Block a user