ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Gauche-CVで画像に描画する。

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))

処理結果