小ワザ/USBカメラ
画像ファイルへの対応状況  †
HSPCVでは、CVバッファの内容をビットマップ、JPEG、PNGをはじめとするたくさんの画像形式で出力することが出来ます。
また、逆にこれらの画像ファイル形式の読み込みにも対応しています。
対応しているファイル形式一覧(拡張子)
BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM, SR, RAS, TIFF, TIF, EXR, JP2
画像ファイルのコンバータなどといった利用方法も考えられますね。
この機能を利用すれば(しなくても出来ますが)USBカメラに映っている動画を写真を撮るようにして画像ファイルに保存することが出来ます。
とりあえずサンプルを見てみましょう。
スペースキーを押すとUSBカメラの映像をJPEGファイルに出力できます。
| + |  | サンプルスクリプト | |   1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 |  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-
|
|
|
|
!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |  
#include "hspcv.as"
 
    screen 0
        onexit goto *owari
 
    fd = dir_cur
    picno = 0
 
                        cvbuffer 0, ginfo_winx, ginfo_winy
        cvcapture CV_CAP_ANY, bid
         
 
*main
                    stick key
    if key&128 : goto *owari     
                        cvgetcapture
 
 
                    if key&10 : f^=1        if key&5  : f^=2                if f&1 : cvflip 0, bid
            if f&2 : cvflip 1, bid
 
                    cvgetimg bid
    await 20
 
                    if key&16 {
                        cvsave fd + "\\pic"+ strf("%04d", picno) + ".jpg", bid
        picno++
    }
 
 
    goto *main
 
 
 
*owari
    cvendcapture
    end
 | 
 | 
cvsaveなのか、cvflipなのかわかりませんが、若干不具合があるようです。
- 上下反転させて画像出力したのに画像は上下反転したまま。
 
- 逆に、上下がさかさまのまま画像出力したのに上下反転されて画像出力された。
 といた症状が出ることがあります。原因は不明です。