当前位置:编程学习 > VB >>

图像RGB数据显示

我现在编了一个代码是对摄像机图片进行实时处理,在代码中是将图像的RGB数值存储在数组里,现在就需要写一段代码将这些数据的R值或者G值或者B值的大小显示在Pic中,还怎么弄啊??

Private Sub Command1_Click()
    Dim crr() As Byte
    Dim pic As StdPicture
    Set pic = LoadPicture("D:\3.jpg")
    SavePicture pic, "D:\3.bmp"
    Open "D:\3.bmp" For Binary As #1
    ReDim crr(0 To LOF(1))
    Get #1, , crr
    Close #1
    kuandu = Val(crr(18)) + 256 * Val(crr(19))
    gaodu = Val(crr(22)) + 256 * Val(crr(23))
    cangdu = crr(10) + 256 * crr(11)
    sewei = crr(28) + 256 * crr(29)
    If sewei = 32 Then zijie = 4
    If sewei = 24 Then zijie = 3
    senyu = 4 - (kuandu * zijie) Mod 4
    For i = 0 To kuandu * gaodu - 1
        B = crr(i * zijie + cangdu + 0)
        G = crr(i * zijie + cangdu + 1)
        R = crr(i * zijie + cangdu + 2)
    Next i
End Sub


把下面的jpg图片保存到D:\3.jpg

都已经“将图像的RGB数值存储在数组里”了,那取各个象素的颜色分量,岂不是轻而易举的事?????

现在就需要写一段代码将这些数据的R值或者G值或者B值的大小显示在Pic中
无法明白你要怎么个“显示”法!
因为图片上的RGB是变化的,随着我对设备的调节,每一个像素上面的RGB值也在变,就像找到在调解过程中变化最大的那个点(希望以一个类似于波峰的形状显示出来)。 我的图片是一个摄像机传输过来的。通过调节设备,R,G,B他们的变化不是线性的变化,肯定是曲线,所以就想通过编程显示,让他们以类似于示波器那样,能让我一眼看出变化最大的地方。 逐点取到一个数组中,然后用 MSChart 显示。 读取颜色,分解处理即可
Pic.CurrentX=0:Pic.CurrentY=0:
Pic.Print "R:"+CStr(R)+" G:"+CStr(G)" B:"+CStr(B);
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,