小ワザ/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なのかわかりませんが、若干不具合があるようです。
- 上下反転させて画像出力したのに画像は上下反転したまま。
- 逆に、上下がさかさまのまま画像出力したのに上下反転されて画像出力された。
といた症状が出ることがあります。原因は不明です。