ruby-opencvでのROIの操作
OpenCVには「ROI」(Region Of Interest:注目領域)という概念があり、画像に対してこれを設定すると、その領域に対してのみ種々の操作が行なわれる様になる。
ROIを設定している状態で画像を描画させるとROIの部分のみ描画されるし、copyを行なうとROIの部分のみコピーされる。
require 'opencv' include OpenCV win = GUI::Window.new("w") img1 = IplImage.load(ARGV.shift) # 1032x581の画像を読み込む。 # img1.set_roi(CvRect.new(320,100, 300,200)) # 幅300x縦200の矩形領域をROIとしてセット(オフセット位置=(320,100)) img2 = img1.copy img1.reset_roi;img2.reset_roi # ROIを解除するには reset_roi printf("img1 : %dx%d\n", img1.width, img1.height) #⇒ 1032x581 printf("img2 : %dx%d\n", img2.width, img2.height) #⇒ 300x200 win.show img1 GUI::wait_key 0 win.show img2 GUI::wait_key 0