请问高手,我有几个问题不能解决:
1、怎样在摄像头的连续视频中抓取任意时刻的一张图片,并在VB的图片框中打开以供我使用?
2、怎样才能确定这张图片的高度、宽度等大小坐标?
3、知道一点的RGB值,能不能将RGB值大概对应到QBColor函数中设置的0-15的颜色值,不必很精确,大概有一个范围或者简单的算法就行了,谢谢!
1、怎样在摄像头的连续视频中抓取任意时刻的一张图片,并在VB的图片框中打开以供我使用?
2、怎样才能确定这张图片的高度、宽度等大小坐标?
3、知道一点的RGB值,能不能将RGB值大概对应到QBColor函数中设置的0-15的颜色值,不必很精确,大概有一个范围或者简单的算法就行了,谢谢!
第二个,使用picturebox中picture属性的width和height属性可以得到你需要的东西。
第三个,算法写起来不算太麻烦,给你写了一下。放两个文本框,第一个输入6位16进制RGB码,注意R在前B在后,text2会返回QBCOLOR代号;再放一个Command1:Private Sub Command1_Click()
Dim sHexClr As String
Dim R As Long, G As Long, B As Long
Dim lNewClr As Long
Dim i As Long
sHexClr = Text1.Text
R = CLng("&H" & Left(sHexClr, 2))
G = CLng("&H" & Mid(sHexClr, 3, 2))
B = CLng("&H" & Right(sHexClr, 2))
If R < 80 Then
R = 0
ElseIf R > 80 And R < 160 Then
R = 128
ElseIf R > 160 And R < 224 Then
R = 192
ElseIf R > 224 Then
R = 255
End If
If G < 80 Then
G = 0
ElseIf G > 80 And G < 160 Then
G = 128
ElseIf G > 160 And G < 224 Then
G = 192
ElseIf G > 224 Then
G = 255
End If
If B < 80 Then
B = 0
ElseIf B > 80 And B < 160 Then
B = 128
ElseIf B > 160 And B < 224 Then
B = 192
ElseIf B > 224 Then
B = 255
End If
lNewClr = CLng("&H" & Hex(B) & "0000") + CLng("&H" & Hex(G) & "00") + CLng("&H" & Hex(R))
For i = 0 To 15
If lNewClr = QBColor(i) Then Exit For
Next
Text2.Text = i
End Sub