1
0
Fork 0
mirror of https://github.com/ruby-opencv/ruby-opencv synced 2023-03-27 23:22:12 -04:00

add CV_INTER_LANCZOS4 and modify tests of CvMat#resize

This commit is contained in:
ser1zw 2013-01-18 03:12:22 +09:00
parent cbeeb1caee
commit 6dc59df141
2 changed files with 19 additions and 14 deletions

View file

@ -294,6 +294,7 @@ define_ruby_module()
rb_define_const(rb_module, "CV_INTER_LINEAR", INT2FIX(CV_INTER_LINEAR)); rb_define_const(rb_module, "CV_INTER_LINEAR", INT2FIX(CV_INTER_LINEAR));
rb_define_const(rb_module, "CV_INTER_AREA", INT2FIX(CV_INTER_AREA)); rb_define_const(rb_module, "CV_INTER_AREA", INT2FIX(CV_INTER_AREA));
rb_define_const(rb_module, "CV_INTER_CUBIC", INT2FIX(CV_INTER_CUBIC)); rb_define_const(rb_module, "CV_INTER_CUBIC", INT2FIX(CV_INTER_CUBIC));
rb_define_const(rb_module, "CV_INTER_LANCZOS4", INT2FIX(CV_INTER_LANCZOS4));
/* Warp affine optional flags */ /* Warp affine optional flags */
rb_define_const(rb_module, "CV_WARP_FILL_OUTLIERS", INT2FIX(CV_WARP_FILL_OUTLIERS)); rb_define_const(rb_module, "CV_WARP_FILL_OUTLIERS", INT2FIX(CV_WARP_FILL_OUTLIERS));

View file

@ -385,27 +385,31 @@ class TestCvMat_imageprocessing < OpenCVTestCase
def test_resize def test_resize
mat0 = CvMat.load(FILENAME_LENA256x256, CV_LOAD_IMAGE_ANYCOLOR | CV_LOAD_IMAGE_ANYDEPTH) mat0 = CvMat.load(FILENAME_LENA256x256, CV_LOAD_IMAGE_ANYCOLOR | CV_LOAD_IMAGE_ANYDEPTH)
size_512 = CvSize.new(512, 512) size = CvSize.new(384, 384)
size_128 = CvSize.new(128, 128) mat1 = mat0.resize(size)
mat1 = mat0.resize(size_512) mat2 = mat0.resize(size, CV_INTER_LINEAR)
mat2 = mat0.resize(size_512, CV_INTER_LINEAR) mat3 = mat0.resize(size, CV_INTER_NN)
mat3 = mat0.resize(size_512, CV_INTER_NN) mat4 = mat0.resize(size, CV_INTER_AREA)
mat4 = mat0.resize(size_128, CV_INTER_AREA) mat5 = mat0.resize(size, CV_INTER_CUBIC)
mat5 = mat0.resize(size_128, CV_INTER_CUBIC) mat6 = mat0.resize(size, CV_INTER_LANCZOS4)
mat6 = mat0.clone
assert_equal('b2203ccca2c17b042a90b79704c0f535', hash_img(mat1)) [mat1, mat2, mat3, mat4, mat5, mat6].each { |m|
assert_equal('b2203ccca2c17b042a90b79704c0f535', hash_img(mat2)) assert_equal(size.width, m.cols)
assert_equal('ba8f2dee2329aaa6309de4770fc8fa55', hash_img(mat3)) assert_equal(size.height, m.rows)
assert_equal('10cf18adaa8548101cc230206624133a', hash_img(mat4)) assert_equal(mat0.depth, m.depth)
assert_equal('de5c30fcd9e817aa282ab05388de995b', hash_img(mat5)) assert_equal(mat0.channel, m.channel)
}
assert_raise(TypeError) { assert_raise(TypeError) {
mat0.resize(DUMMY_OBJ) mat0.resize(DUMMY_OBJ)
} }
assert_raise(TypeError) { assert_raise(TypeError) {
mat0.resize(size_128, DUMMY_OBJ) mat0.resize(size, DUMMY_OBJ)
} }
# Uncomment the following lines to show the results
# snap(['original', mat0], ['default(linear)', mat1], ['linear', mat2],
# ['nn', mat3], ['area', mat4], ['cubic', mat5] , ['lanczos4', mat6])
end end
def test_warp_affine def test_warp_affine