mirror of
https://github.com/ruby-opencv/ruby-opencv
synced 2023-03-27 23:22:12 -04:00
fix CvMat#flip
This commit is contained in:
parent
d019ffbd14
commit
99679249f1
2 changed files with 18 additions and 8 deletions
|
@ -1546,16 +1546,19 @@ VALUE
|
|||
rb_flip_bang(int argc, VALUE *argv, VALUE self)
|
||||
{
|
||||
VALUE format;
|
||||
int mode = 0;
|
||||
int mode = 1;
|
||||
if (rb_scan_args(argc, argv, "01", &format) > 0) {
|
||||
if (rb_to_id(format) == rb_intern("x"))
|
||||
Check_Type(format, T_SYMBOL);
|
||||
ID flip_mode = rb_to_id(format);
|
||||
if (flip_mode == rb_intern("x")) {
|
||||
mode = 1;
|
||||
else if (rb_to_id(format) == rb_intern("y"))
|
||||
}
|
||||
else if (flip_mode == rb_intern("y")) {
|
||||
mode = 0;
|
||||
else if (rb_to_id(format) == rb_intern("xy"))
|
||||
}
|
||||
else if (flip_mode == rb_intern("xy")) {
|
||||
mode = -1;
|
||||
else
|
||||
rb_warn("argument may be :x or :y or :xy");
|
||||
}
|
||||
}
|
||||
try {
|
||||
cvFlip(CVARR(self), NULL, mode);
|
||||
|
|
|
@ -809,10 +809,17 @@ class TestCvMat < OpenCVTestCase
|
|||
assert_cvscalar_equal(m0[rj, i], m4[j, i])
|
||||
assert_cvscalar_equal(m0[rj, ri], m5[j, i])
|
||||
assert_cvscalar_equal(m0[rj, ri], m6[j, i])
|
||||
assert_cvscalar_equal(m0[rj, i], m7[j, i])
|
||||
assert_cvscalar_equal(m0[rj, i], m8[j, i])
|
||||
assert_cvscalar_equal(m0[j, ri], m7[j, i])
|
||||
assert_cvscalar_equal(m0[j, ri], m8[j, i])
|
||||
}
|
||||
}
|
||||
|
||||
assert_raise(TypeError) {
|
||||
m0.flip(DUMMY_OBJ)
|
||||
}
|
||||
assert_raise(TypeError) {
|
||||
m0.flip!(DUMMY_OBJ)
|
||||
}
|
||||
end
|
||||
|
||||
def test_split
|
||||
|
|
Loading…
Add table
Reference in a new issue