图像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 , 网络编程