1
0
Fork 0
mirror of https://github.com/ruby-opencv/ruby-opencv synced 2023-03-27 23:22:12 -04:00
ruby-opencv/test/test_opencv.rb
2016-04-03 07:47:06 +09:00

68 lines
1.7 KiB
Ruby
Executable file

#!/usr/bin/env ruby
# -*- mode: ruby; coding: utf-8 -*-
require 'opencv'
require File.expand_path(File.dirname(__FILE__)) + '/helper'
include Cv
class TestOpenCV < OpenCVTestCase
def test_imread
mat = Cv::imread(FILENAME_CAT, IMREAD_GRAYSCALE)
assert_equal(Mat, mat.class)
assert_equal(375, mat.cols)
assert_equal(500, mat.rows)
assert_equal(CV_8U, mat.depth)
assert_equal(1, mat.channels)
mat = Cv::imread(FILENAME_CAT, IMREAD_ANYDEPTH | IMREAD_ANYCOLOR)
assert_equal(Mat, mat.class)
assert_equal(375, mat.cols)
assert_equal(500, mat.rows)
assert_equal(CV_8U, mat.depth)
assert_equal(3, mat.channels)
assert_raise(ArgumentError) {
Cv::imread
}
assert_raise(ArgumentError) {
Cv::imread(FILENAME_CAT)
}
assert_raise(TypeError) {
Cv::imread(FILENAME_CAT, DUMMY_OBJ)
}
assert_raise(StandardError) {
Cv::imread('file/does/not/exist', 0)
}
end
def test_imdecode
src = Cv::imread(FILENAME_LENA32x32, IMREAD_ANYDEPTH | IMREAD_ANYCOLOR)
buf = src.imencode('.jpg')
m = Cv::imdecode(buf, IMREAD_ANYDEPTH | IMREAD_ANYCOLOR)
assert_equal(src.class, m.class)
assert_equal(src.rows, m.rows)
assert_equal(src.cols, m.cols)
assert_equal(src.depth, m.depth)
assert_equal(src.channels, m.channels)
m = Cv::imdecode(buf, IMREAD_GRAYSCALE)
assert_equal(src.class, m.class)
assert_equal(src.rows, m.rows)
assert_equal(src.cols, m.cols)
assert_equal(CV_8U, m.depth)
assert_equal(1, m.channels)
assert_raise(TypeError) {
Cv::imdecode(DUMMY_OBJ, IMREAD_GRAYSCALE)
}
assert_raise(TypeError) {
Cv::imdecode(buf, DUMMY_OBJ)
}
# w = Window.new('Decoded')
# w.show(m)
# w.wait_key
end
end