狠狠撸

狠狠撸Share a Scribd company logo
Ruby で OpenCVRuby で OpenCV
2019/06/29 とちぎ Ruby 会議 08
@yancya
Powered by Rabbit 3.0.0 and COZMIXNG
OpenCV
使ってますか
ruby-opencv gem
Ruby っぽく使える良い gem
だった
yancya = OpenCV::CvMat.load('yancya.jpeg')
GUI::Window.new("hi").show(yancya)
#=> なんか表示される
ruby-opencv gem is dead
OpenCV 2 までしか対応してな
い
メンテされてない
どうしたら
Python 使うか
OpenCV-Python チュートリアル文
書
http://labs.eecs.tottori-u.ac.jp/sd/
Member/oyamada/OpenCV/html/
index.html
PyCall
Ruby から Python のライブラリ
呼ぶやつあるよな
呼ぶか
cv2.py
PyCall を使って Python の ‘cv2’
を呼べる gem があった
 画像を読み込む
yancya = CV2.imread('yancya.jpeg')
画像を表示する
CV2.imshow("yancya", yancya)
CV2.waitKey(0)
CV2.destroyAllWindows()
画像をリサイズして表示
size = PyCall::Tuple.([100, 100])
resized_yancya = CV2.resize(yancya, size)
CV2.imshow("small yancya", resized_yancya)
CV2.waitKey(0)
CV2.destroyAllWindows()
画像の中央部分だけを表示す
る
yancya_center = yancya[
PyCall::Slice.(50, 150),
PyCall::Slice.(50, 150)
]
CV2.imshow("yancya center", yancya_center)
CV2.waitKey(0)
CV2.destroyAllWindows()
画像の中央部分だけを表示す
る2
PyCall::Slice とか書くの面倒く
さいな……
さっき、Ruby の Range でも代
用出来ることを発見した
CV2.imshow("yancya center 2", yancya[50..150, 50..150])
CV2.waitKey(0)
CV2.destroyAllWindows()
デモ
動け
まとめ
今、Ruby から OpenCV 使おう
とするなら、’cv2.py’ がオススメ
Powered by Rabbit 3.0.0 and COZMIXNG

More Related Content

Opencv by-yancya