Ceriwis

Ceriwis (https://forum.ceriwis.com/forum.php)
-   Programming (https://forum.ceriwis.com/forumdisplay.php?f=63)
-   -   Motion Detection dengan Visual Basic 6.0 (https://forum.ceriwis.com/showthread.php?t=574852)

Guesuper 20th November 2011 10:14 AM

Motion Detection dengan Visual Basic 6.0
 

agan-agan yang baik...:ceriwislove:



saya punya tugas kuliah nih... membuat motion detection alias pendeteksi gerakan melalui kamera.

program yang ane buat udah jadi, nah permasalahannya gue ngambil algoritma punya orang yang gue susah untuk menjelaskannya dilaporan...



koding yang gue bingung terletak pada function untuk membedakan kedua warna, lihat scriptnya dibawah ini gan...




Quote:





Private Function Different(ByVal a As Long, ByVal b As Long) As Boolean

'cek perbedaan dua warna

ar = a Mod 256: a = a \ 256

ag = a Mod 256: a = a \ 256

ab = a Mod 256: a = a \ 256



br = b Mod 256: b = b \ 256

bg = b Mod 256: b = b \ 256

bb = b Mod 256: b = b \ 256

sense = 255 - Slider1.Value * 5



Different = (Sqr((ar - br) * (ar - br) + (ag - bg) * (ag - bg) + (ab - bb) * (ab - bb)) > sense) 'formula for counting different

End Function





nah terus untuk mengimplementasikan function di atas digunakanlah timer yang ada pada vb 6, fungsi dari script ini adalah untuk menjalankan proses deteksi gerakan, yang akan dipantau kamera secara real time....

tapi gue juga butuh penjelasan yang luas dari agan-agan semua,

berikut scriptnya gan,


Quote:





Private Sub Timer1_Timer()

'menampilkan gambar dari kamera

SendMessage mCapHwnd, GET_FRAME, 0, 0

SendMessage mCapHwnd, COPY, 0, 0

cam1.Picture = Clipboard.GetData: Clipboard.Clear





stepp = 3 'Grid dense



Dim qan, qann As Long

qan = 0

qann = 0



For i = 1 To cam1.Width / Screen.TwipsPerPixelX Step stepp

For j = 1 To cam1.Height / Screen.TwipsPerPixelY Step stepp



If Different(cam1.Point(i * stepp * Screen.TwipsPerPixelX, j * stepp * Screen.TwipsPerPixelY), cam2.Point(Screen.TwipsPerPixelX * i * stepp, j * stepp * Screen.TwipsPerPixelY)) Then

cam1.Circle (i * stepp * Screen.TwipsPerPixelX, Screen.TwipsPerPixelY * j * stepp), 1, RGB(255, 0, 0)

qann = qann + 1

End If



Next

Next

lblProgres.Caption = Int(qann * 100 / 910) & "%" 'perhitungan gerakan dalam persentase

ProgressBar1.Value = Int(qann * 100 / 910)

End Sub





para agan-agan yang baik, mohon bantu saya, bagaimana sebenarnya penjelasan yang pas untuk program di atas.... tuh script jalan 100% gan, tapi kalau di copy paste ane yakin gak bakalan jalan, karena agan musti nambahin komponen library avicap32 bawaan windows, cari aja diinternet ada gan....



please bantu saya gan,



salam programmer vb indonesia....

</div>

enju 12th October 2013 05:16 AM

bingung
 

gmna gan sudah dapat lah... carax ane juga dpat tugas itu juga :mewek:


All times are GMT +7. The time now is 11:14 PM.