Gauche-CLを使って画像に円や線を書く方法です。
元ネタはProgramming Computer Vision With Pythonから。
Gauche-CVはaharisuのごみ箱で公開されています。
Python PIL, pylab で画像に描画する
pylabと合わせれば、簡単にプロットできます。
# -*- coding: utf-8 -*- __author__ = 'natu' from PIL import Image from pylab import * import matplotlib.font_manager prop = matplotlib.font_manager.FontProperties(fname=r'c:\windows\fonts\msgothic.ttc') im = array(Image.open('twittan.jpg')) imshow(im) x = [100, 100, 400, 400] y = [200, 500, 200, 500] plot(x, y, 'r*') plot(x[:2], y[:2]) title('Plotting: ついったん', fontproperties = prop) show()
Gauche-CVで画像に描画する
Gauche-CVでも同じようにできます。円や直線くらいなら簡単ですが、pylabのようにスケールを入れようとすると、素直に別ツールを使った方が良いですね。
APIの使い方はここを参考にしました。
http://opencv.jp/opencv-2svn/cpp/drawing_functions.html
(use cv) (define plot (lambda (dst x y) (cv-circle dst (make-cv-point x y) ; 中心座標 3 ; 半径 (make-cv-scalar 200 0 0) ; 色 -1 ; thickness 1 ; 種類 ))) (let* ((src (cv-load-image "twittan.jpg")) (dst (cv-clone-image src))) (cv-line dst (make-cv-point 100 200) (make-cv-point 100 500) (make-cv-scalar 200 0 0)) (plot dst 100 200) (plot dst 100 500) (cv-save-image "twittan_plot.jpg" dst))