请问高手,我有几个问题不能解决:
1、怎样在摄像头的连续视频中抓取任意时刻的一张图片,并在VB的图片框中打开以供我使用?
2、怎样才能确定这张图片的高度、宽度等大小坐标?
3、知道一点的RGB值,能不能将RGB值大概对应到QBColor函数中设置的0-15的颜色值,不必很精确,大概有一个范围或者简单的算法就行了,谢谢!

解决方案 »

  1.   

    第一个问题我解决不了,抱歉。
    第二个,使用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
      

  2.   

    1.引用页 http://www.mndsoft.com/blog/blogview.asp?logID=30