.:: Jasa Membuat Aplikasi Website,Desktop,Android Order Now..!! | | Order Now..!! Jasa Membuat Project Arduino,Robotic,Print 3D ::.

Object Tracing Using Color Threshold and PID Controler in raspberry Pi

0 komentar


بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم
bismillaahirrahmaanirrahiim

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Assalamu'alaikum warahmatullahi wabarakatuh

Salam Otomasi...

Gambar 1. Hasil Color Tracing dengan metode color threshold

Kali ini saya akan menjelaskan mengenahi object tracking menggunakan library OpenCV pada Raspberry Pi. Terlebih dahulu device kamera anda harus dapat terdeteksi oleh raspberry serta anda harus sudah menanam Library OpenCV pada respberry anda. Untuk cara instalasi dapat di lihat disini.Untuk detail algoritma pemrograman image di raspberry dapat dilihat pada gambar 2.


Gambar 2. Algoritma pemrograman


jika semua library dan komponen device sudah terdeteksi dan siap di jalankan maka anda dapat langsung menuju ke program utama, program tracing warna yang saya gunakan adalah dengan menggunakan bahasa pemrograman python. adapun algoritma dari pemrosesan citra sehingga didapatkan posisi dari benda yang di tracking dapat dilihat pada gambar 3.


Gambar 3. Algoritma Object Tracking In Raspberry and Open CV

Nah.... dari algoritma di atas kalau saya konversi menjadi bahasa pemrograman python maka dapat dilihat pada list program dibawah ini.

#========================= program python=================================
import cv2.cv as cv                 #import library openCV
import smbus                        #import library I2C

bus = smbus.SMBus(1)
address = 0x04                      #Alamat Register I2C

def sendData(value):                #Sub program kirim data
    bus.write_byte(address, value)
    # bus.write_byte_data(address, 0, value)
    return -1

def readData():                     #Sub program terima data i2c
    state = bus.read_byte(address)
    # number = bus.read_byte_data(address, 1)
    return state
def ColorProcess(img): #Sub program pengolahan citra
    # returns thresholded image
    imgHSV = cv.CreateImage(cv.GetSize(img), 8, 3)
    # converts BGR image to HSV

    cv.CvtColor(img, imgHSV, cv.CV_BGR2HSV)

    imgProcessed = cv.CreateImage(cv.GetSize(img), 8, 1)

    # converts the pixel values lying within the range to 255 and stores it in the destination

    cv.InRangeS(imgHSV, (100, 94, 84), (109, 171, 143), imgProcessed)
    return imgProcessed

def main():

    # captured image size, change to whatever you want

    width = 320

    height = 240

    capture = cv.CreateCameraCapture(0)

    # Over-write default captured image size
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,width)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,height)

    cv.NamedWindow( "output", 1 )

    cv.NamedWindow( "processed", 1 )

    while True:

        frame = cv.QueryFrame(capture)

        cv.Smooth(frame, frame, cv.CV_BLUR, 3)


        imgColorProcessed = ColorProcess(frame)

        mat = cv.GetMat(imgColorProcessed)


        # Calculating the moments

        moments = cv.Moments(mat, 0)

        area = cv.GetCentralMoment(moments, 0, 0)

        moment10 = cv.GetSpatialMoment(moments, 1, 0)

        moment01 = cv.GetSpatialMoment(moments, 0,1)


        # Finding a big enough blob

        if(area > 60000):


            # Calculating the center postition of the blob

            posX = int(moment10 / area)

            posY = int(moment01 / area)


            # check slave status and send coordinates

            state = readData()

            if state == 1:

                sendData(posX)

                sendData(posY)

                print 'x: ' + str(posX) + ' y: ' + str(posY)


        # update video windows

        cv.ShowImage("processed", imgColorProcessed)

        cv.ShowImage("output", frame)


        if cv.WaitKey(10) >= 0:

            break

    return;


if __name__ == "__main__":
   main()

#===================================================================

ini adalah video hasil dari image processing dari program yang telah saya buat diatas.






  

Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
NB :: Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code, membeli hardware elektronika untuk kepentingan Perusahaan maupun Tugas Akhir (TA/SKRIPSI), Insyaallah Saya siap membantu, untuk Respon Cepat dapat menghubungi kami, melalui :

No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com


atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :

ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِين
Alhamdulilah hirobil alamin

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
wassalamualaikum warahmatullahi wabarakatuh


Artikel Object Tracing Using Color Threshold and PID Controler in raspberry Pi, Diterbitkan oleh scodeaplikasi pada Rabu, 27 Mei 2015. Semoga artikel ini dapat menambah wawasan Anda. Website ini dipost dari beberapa sumber, bisa cek disini sumber, Sobat diperbolehkan mengcopy paste / menyebar luaskan artikel ini, karena segala yang dipost di public adalah milik public. Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code ,Dengan Cara menghubungi saya Ke Email: Fajarudinsidik@gmail.com, atau No Hp/WA : (fajar) : 085369237896, (puat) : 085267792168.

Tawk.to