HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0814
HSP歴数ヶ月(´・ω・`)Webカメラの映像を加工したいのですが、どうすればできるのでしょうか?4解決


HSP歴数ヶ月(´・ω・`)

リンク

2012/8/14(Tue) 22:07:44|NO.48512

BUFFALO BSW32K02Hシリーズのカメラを使っているのですが、cvcapture p1,p2命令を使っても表示されません。
cvcapture p1,p2の使い方が悪いのかと思って、この命令を使ってWebカメを表示するサンプルコードを試してみましたがダメでした。

そこで、http://www.vector.co.jp/soft/win95/prog/se476198.htmlこのプラグインを試してみたところ、見事に表示されました。
ですが、このプラグインで表示させた映像をgcopyなどで別のウィンドウにコピーしたりcvmatch(画像のマッチング検査)などの命令を使うことができません。
どうしたらBUFFALO BSW32K02Hシリーズのカメラの映像をHSPに取り込んで加工したりできるのでしょうか?

サンプルソースや参考になるサイトを教えて下さいm(__)m



この記事に返信する


inovia

リンク

2012/8/14(Tue) 23:04:42|NO.48519

dsc_GetImage 命令でHSPのウィンドウに画像を転送することができます。
(bufferはダメなので、非表示にしたい場合はscreen命令の第4パラを2にしてください)
また、dsc_SaveBMP 命令で BMPファイルで保存、dsc_GetImageMem 命令で直接メモリに格納できます。
dsc_GetImageMem 命令は敷居が高いというかDIBなどの理解が必要なのでお勧めしません。
(直接転送できるので高速ですけども)

中にもサンプルが入っていますけども、一部を簡略化したスクリプトを置いておきます。

#include "hspdsc.as" title "DirectShow キャプチャデバイス表示 サンプル(1つのみ) " cls 4 dsc_Init // 初期化を必ずする! // バッファのサイズ取得し sdim で 確保 sdim devlist, dsc_GetDeviceListSize() dsc_GetDeviceList devlist // 利用可能なデバイス一覧取得 if stat = 0 : dialog "デバイスが見つかりません" : end objsize 300, 20 combox id, 100, devlist objsize 150,20 button "デバイスを再生",*play button "デバイスを停止",*_stop button "キャプチャして表示",*capture button "終了する",*exit stop *play // 操作ID 0 指定(デフォルトでは0が指定されているため書かなくてもOK) dsc_SetActiveSel 0 // デバイスのオープン dsc_Open id, 0, 0, 0, 0 if stat < 0 : dialog "エラーが発生しました\nstat = " + stat, 1, "DEVICE-ERROR" : stop gsel 0, 1 // デバイスの再生 dsc_Play hwnd, 160, 120, 320, 240 if stat < 0 : dialog "エラーが発生しました\nstat = " + stat,1,"CAPTURE-ERROR" : stop stop *_stop // デバイスのクローズ dsc_Close if stat < 0 : dialog "エラーが発生しました\nstat = " + stat, 1, "CLOSE-ERROR" : stop stop *capture // ウィンドウ用意 screen 1, dsc_CapX, dsc_CapY ; buffer // ↑ これは使えません!非表示にしたい場合は screen , , , 2 // screen の 第4パラメータを 2 にしてください // キャプチャ dsc_GetImage hdc, 0, 0, dsc_CapX, dsc_CapY if stat < 0 : dialog "エラーが発生しました\nstat = " + stat,1,"CAPTURE-ERROR" : stop redraw 1 // これは必ず必要です。 gsel 0, 1 stop *exit // クローズ dsc_Stop dsc_Close end



HSP歴数ヶ月(´・ω・`)

リンク

2012/8/14(Tue) 23:47:22|NO.48524


#include "hspdsc.as" #include "libzbar.as" gsel 0, -1 dsc_Init dsc_Open 0, 0, 0, 0, 0 dsc_Play2 screen 1, dsc_CapX, dsc_CapY repeat await dsc_GetImage hdc, 0, 0, dsc_CapX, dsc_CapY redraw 1 loop
返信ありがとうございます。ソースはこういう感じになりました。ActiveMobie Windowウィンドウを非表示にするには、どうすればいいのでしょうか?
gselでやろうとしたのですが、ウィンドウIDがわかりません。



inovia

リンク

2012/8/15(Wed) 01:01:58|NO.48540

プレビューウィンドウを表示させないようにするには、dsc_Open 命令の第2パラメータを6にしてください。

dsc_Open 0, 6, 0, 0, 0


#include "hspdsc.as" gsel 0, -1 dsc_Init dsc_Open 0, 6, 0, 0, 0 dsc_Play2 screen 1, dsc_CapX, dsc_CapY repeat await dsc_GetImage hdc, 0, 0, dsc_CapX, dsc_CapY redraw 1 loop



HSP歴数ヶ月(´・ω・`)

リンク

2012/8/17(Fri) 11:38:14|NO.48625

返信遅れてすみません。無事できました。色々ありがとうございましたm(__)m



ONION software Copyright 1997-2021(c) All rights reserved.