主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

Webカメラで取得した画像をOpenCVで編集して、Pygameで表示

                
tags:
OpenCVに用意されているShowImageを使ってウィンドウを作ると、
DestroyWindowでウィンドウを閉じなきゃならんのだろうか。
バーにある閉じるボタンをクリックしてもエラー終了。これは気に入らない。

pythonリファレンスの2.2ではGetWindowHandleも見当たらないようで。
じゃあGTKなりQtなりを使わねばということなのだろうけど、
まずは手軽にPygameでやってみた。
CreateCameraCaptureをpygame.initの前に持ってきたり、
whileループの中にpygame.event.getを持ってこなければならんらしい。
この辺を分かっていなかったので、途中で何度もterminateされた。

110524.jpg



#!/usr/bin/env python

import sys

import cv
import pygame
from pygame.locals import *


if __name__ == '__main__':
capture = cv.CreateCameraCapture(int(0))
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH, 640)

pygame.init()
window = pygame.display.set_mode((640,480))
pygame.display.set_caption("hoge")
wm_info = pygame.display.get_wm_info()
handle = wm_info['window']
screen = pygame.display.get_surface()

img_rgb=cv.CreateMat(480,640,cv.CV_8UC3)

if capture:
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()

pygame.time.delay(int(1000 * 1.0/30))

frame = cv.QueryFrame(capture)
cv.CvtColor(frame, img_rgb, cv.CV_BGR2RGB)
pg_img = pygame.image.frombuffer(img_rgb.tostring(), cv.GetSize(img_rgb), "RGB")

screen.blit(pg_img, (0,0))
pygame.display.update()


OpenCVまとめ
スポンサーサイト



プロフィール

h

Author:h

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon