スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

プログラム大好きっ子がPythonに興味を持ったようです。Part6

ゴールデンウィーク直前!平日のプログラミング更新!

今回は画像を変換してホラーなカメラを作ってみましょう。

※実行イメージ
hsv001.jpg

実のところ、本当はグレースケイル(灰色画像)に変換して表示する予定だったのですが、
PythonはC/C++となにやら事情が違うらしく、想定していたコードが正しく動かなかったため、
HSV形式と呼ばれる表色系に変換して表示するプログラムに変更しました。

プログラムがエラー吐いてたり、グレースケイルについて検索中だったり、
実行結果から結構な余計な情報が読み取れるかと思います。

Python用OpenCVはほぼ、C/C++と同じ方法でプログラミングが可能なのですが、
ちょこちょこと差異があって結構面倒くさいです。

それはさておき、とりあえず、コードを紹介します。

コードはつづきを読むからどうぞ。



001:#coding:shift_jis
002:
003:from opencv import highgui
004:from opencv import cv
005:
006:wnd_name = "カメラテスト"
007:
008:#接続されているカメラの中で一番最初のものを取得
009:cam = highgui.cvCreateCameraCapture(0)
010:
011:highgui.cvNamedWindow(wnd_name , highgui.CV_WINDOW_AUTOSIZE)
012:
013:ret = cv.cvCreateImage((640 , 480) , 8 , 3)
014:tmp = cv.cvCreateImage((640 , 480) , 8 , 3)
015:
016:is_gray = False
017:#変更された直後かどうか。
018:is_just_ch = False
019:
020:while 1 :
021:
022: frame = highgui.cvQueryFrame(cam)
023: key = highgui.cvWaitKey(100)
024:
025: #sキーで今の画像を保存します(最新版を上書き)
026: if key == 's':
027: highgui.cvSaveImage("frame_image.jpg" , frame)
028: print "フレームを保存しました。"
029: #qキーで終了。
030: elif key == 'q':
031: break
032:
033: cv.cvCopy(frame , tmp)
034: cv.cvCvtColor(tmp , ret , cv.CV_BGR2HSV)
035:
036: highgui.cvShowImage(wnd_name , ret)
037:
038:highgui.cvDestroyWindow(wnd_name)
039:highgui.cvReleaseCapture(cam)
040:cv.cvReleaseImage(ret)



表色系の変更はcvクラスのcvCvtColor()を利用します。
Webカメラが自宅にあり、PythonとOpenCVが利用可能な方はぜひ実行してみて下さい。
それでは、また次回。
スポンサーサイト

コメントの投稿

非公開コメント

twitter
    follow me on Twitter
    プロフィール

    砂塵

    Author:砂塵
    GIMP2でお絵描きしています。
    主にイラスト練習、プログラミングなどを扱っているブログです。

    Skype始めました。
    SkypeID:sazinn-gimp
    出没時間:平日21~26時、休日(土・日)

    Pixivはじめました
    微エロな絵を載せることがありますので、そういうのが苦手な方や嫌悪感を覚える方はご注意ください。

    カテゴリ
    リンク
    最新記事
    月別アーカイブ
    最新コメント
    RSSリンクの表示
    FC2カウンター
    FC2ブログランキング

    FC2Blog Ranking

    参加ブログカテゴリ
    にほんブログ村 IT技術ブログ プログラム・プログラマーへ
    にほんブログ村 イラストブログ イラスト練習へ
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。