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_cvcapture.rb

187 lines
4.4 KiB
Ruby
Executable file

#!/usr/bin/env ruby
# -*- mode: ruby; coding: utf-8-unix -*-
require 'test/unit'
require 'opencv'
require File.expand_path(File.dirname(__FILE__)) + '/helper'
include OpenCV
# Tests for OpenCV::CvCapture
class TestCvCapture < OpenCVTestCase
def setup
@cap = CvCapture.open(AVI_SAMPLE)
@cap.query
end
def teardown
@cap = nil
end
def test_INTERFACE
assert_equal(CvCapture::INTERFACE[:any], 0)
assert_equal(CvCapture::INTERFACE[:mil], 100)
assert_equal(CvCapture::INTERFACE[:vfw], 200)
assert_equal(CvCapture::INTERFACE[:v4l], 200)
assert_equal(CvCapture::INTERFACE[:v4l2], 200)
assert_equal(CvCapture::INTERFACE[:fireware], 300)
assert_equal(CvCapture::INTERFACE[:ieee1394], 300)
assert_equal(CvCapture::INTERFACE[:dc1394], 300)
assert_equal(CvCapture::INTERFACE[:cmu1394], 300)
assert_equal(CvCapture::INTERFACE[:stereo], 400)
assert_equal(CvCapture::INTERFACE[:tyzx], 400)
assert_equal(CvCapture::INTERFACE[:tyzx_left], 400)
assert_equal(CvCapture::INTERFACE[:tyzx_right], 401)
assert_equal(CvCapture::INTERFACE[:tyzx_color], 402)
assert_equal(CvCapture::INTERFACE[:tyzx_z], 403)
assert_equal(CvCapture::INTERFACE[:qt], 500)
assert_equal(CvCapture::INTERFACE[:quicktime], 500)
end
def test_open
cap1 = CvCapture.open(AVI_SAMPLE)
assert_equal(CvCapture, cap1.class)
# Uncomment the following lines to test capturing from camera
# cap2 = CvCapture.open(0)
# assert_equal(CvCapture, cap2.class)
# CvCapture::INTERFACE.each { |k, v|
# cap3 = CvCapture.open(k)
# assert_equal(CvCapture, cap3.class)
# }
end
def test_grab
assert(@cap.grab)
end
def test_retrieve
@cap.grab
img = @cap.retrieve
assert_equal(IplImage, img.class)
end
def test_query
img = @cap.query
assert_equal(IplImage, img.class)
end
def test_millisecond
@cap.millisecond = 10
assert(@cap.millisecond.is_a? Numeric)
# assert_equal(10, @cap.millisecond)
@cap.millisecond = 20
assert(@cap.millisecond.is_a? Numeric)
# assert_equal(20, @cap.millisecond)
end
def test_frames
@cap.frames = 10
assert(@cap.frames.is_a? Numeric)
# assert_equal(10, @cap.frames)
@cap.frames = 20
assert(@cap.frames.is_a? Numeric)
# assert_equal(20, @cap.frames)
end
def test_avi_ratio
@cap.avi_ratio = 0.1
assert(@cap.avi_ratio.is_a? Numeric)
# assert_equal(0.1, @cap.avi_ratio)
@cap.avi_ratio = 0.8
assert(@cap.avi_ratio.is_a? Numeric)
# assert_equal(0.8, @cap.avi_ratio)
end
def test_size
@cap.size = CvSize.new(320, 240)
assert_equal(CvSize, @cap.size.class)
# assert_equal(320, @cap.size.width)
# assert_equal(240, @cap.size.height)
@cap.size = CvSize.new(640, 480)
assert_equal(CvSize, @cap.size.class)
# assert_equal(640, @cap.size.width)
# assert_equal(480, @cap.size.height)
end
def test_width
@cap.width = 320
assert(@cap.width.is_a? Numeric)
# assert_equal(320, @cap.width)
@cap.width = 640
assert(@cap.width.is_a? Numeric)
# assert_equal(640, @cap.width)
end
def test_height
@cap.height = 240
assert(@cap.height.is_a? Numeric)
# assert_equal(240, @cap.height)
@cap.height = 480
assert(@cap.height.is_a? Numeric)
# assert_equal(480, @cap.height)
end
def test_fps
@cap.fps = 15
assert(@cap.fps.is_a? Numeric)
# assert_equal(15, @cap.fps)
@cap.fps = 30
assert(@cap.fps.is_a? Numeric)
# assert_equal(30, @cap.fps)
end
def test_fourcc
assert_equal(String, @cap.fourcc.class)
end
def test_frame_count
assert(@cap.frame_count.is_a? Numeric)
end
def test_format
assert(@cap.format.is_a? Numeric)
end
def test_mode
assert(@cap.mode.is_a? Numeric)
end
def test_brightness
assert(@cap.brightness.is_a? Numeric)
end
def test_contrast
assert(@cap.contrast.is_a? Numeric)
end
def test_saturation
assert(@cap.saturation.is_a? Numeric)
end
def test_hue
assert(@cap.hue.is_a? Numeric)
end
def test_gain
assert(@cap.gain.is_a? Numeric)
end
def test_exposure
assert(@cap.exposure.is_a? Numeric)
end
def test_convert_rgb
assert((@cap.convert_rgb == true) ||
(@cap.convert_rgb == false))
end
def test_white_balance
assert(@cap.white_balance.is_a? Numeric)
end
def test_rectification
assert(@cap.rectification.is_a? Numeric)
end
end