MEMBUAT COMPUTER VIDION VIRTUAL BUTTON

 robotik.

Contoh: Algoritma yang digunakan oleh AlphaGo untuk mengalahkan pemain Go terbaik di dunia.

    AI telah berkembang pesat dalam beberapa dekade terakhir dan telah memberikan dampak besar dalam berbagai bidang, mulai dari kesehatan, transportasi, hingga hiburan. Namun, perkembangan AI juga menimbulkan tantangan etis dan keamanan yang harus ditangani, seperti masalah privasi, bias algoritma, dan potensi penyalahgunaan teknologi.


    Namun, pengembangan AI juga menimbulkan pertanyaan etis dan tantangan, seperti privasi data, keadilan dan bias algoritma, serta dampaknya terhadap lapangan pekerjaan dan masyarakat secara keseluruhan.


    Salah satu pendekatan AI yang paling menarik adalah Computer vision. Apa sih Computer Vision itu?


        Computer Vision (Visi Komputer) adalah bidang ilmu dalam kecerdasan buatan (AI) yang fokus pada pengembangan algoritma dan teknik untuk memungkinkan komputer memahami dan menafsirkan gambar serta video secara otomatis. Tujuan utama computer vision adalah untuk mereplikasi kemampuan visual manusia, sehingga mesin dapat "melihat" dan mengambil keputusan berdasarkan data visual.


    Nah pada kesempatan kali ini Saya akan membagikan cara atau tutorial membuat kalkulator computer vision atau virtual button kalkulator menggunakan python. oke tanpa berlama lama mari kitalangsung saja ke tutorialnya....


    Kalkulator virtual dengan tombol adalah antarmuka digital yang memungkinkan pengguna untuk melakukan perhitungan matematika menggunakan perangkat lunak atau aplikasi yang memiliki tampilan dan fungsi seperti kalkulator fisik. Kalkulator virtual ini biasanya terdapat pada berbagai platform seperti aplikasi desktop, aplikasi web, atau aplikasi mobile.

1. Pertama kita buka VSCODE nya. Disini saya menggunakan Visual Studio Code kalo belum ada download disini VSCODE


2. Kita membutuhkan Library untuk menjalankan aplikasi Virtual Button Kalkulatornya yaitu pip install opencv Instal seperti berikut di CMD, lalu kita instal LIbrary lagi yaitu cvzone pip install cvzone sama caranya instalnya di cmd.


3. Kita buat dulu foldernya untuk menyimpan file pyton nya dengan nama computer vision


4. setelah itu buka fille kita buka vscode nya lalu klik trs pilih open folder yang tadi di buat.


5.setelah itu kita buat fille lagi untuk menjalankan kode kalkulatornya seperti berikut dan pilih yang Jupyter notebook


6.lalu masukan saja kode berikut 


import cv2

from cvzone.HandTrackingModule import HandDetector 



class Button:

    def __init__(self, pos, width, height, value):

        self.pos = pos

        self.width = width

        self.height = height

        self.value = value

    

    def draw(self, img):

        cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),

                      (225, 225, 225), cv2.FILLED)

        cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),

                      (50, 50, 50), 3)

        cv2.putText(img, self.value, (self.pos[0]+25, self.pos[1]+46), cv2.FONT_HERSHEY_PLAIN,

                    2, (50, 50, 50), 2)

    

    def checkClick(self, x, y):

        if self.pos[0] < x < self.pos[0]+self.width and self.pos[1] < y < self.pos[1]+self.height :

            cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),

                          (255, 255, 255), cv2.FILLED)

            cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),

                          (50, 50, 50), 3)

            cv2.putText(img, self.value, (self.pos[0]+15, self.pos[1]+58), cv2.FONT_HERSHEY_PLAIN,

                        4, (0, 0, 0), 4)

            return True

        else:

            return False

            


cam = cv2.VideoCapture(0)

cam.set(3, 1280)

cam.set(4, 720)

detector = HandDetector(detectionCon=0.8, maxHands=1)


buttonListValues = [

    ['1', '2', '3', '+'],

    ['4', '5', '6', '-'],

    ['7', '8', '9', '/'],

    ['0', '.', '*', '=']

]


buttonList = []

for y in range(4):

    for x in range(4):

        xpos = x*80 + 320

        ypos = y*80 + 90

        buttonList.append(Button((xpos, ypos), 70, 70, buttonListValues[y][x]))


myEquation = ''

delayCounter = 0


while True:

    success, img = cam.read()

    img = cv2.flip(img, 1)

    

    hands, img = detector.findHands(img, flipType=False)

    

    cv2.rectangle(img, (320, 10), (320+310, 10+70),

                  (225, 225, 225), cv2.FILLED)

    cv2.rectangle(img, (320, 10), (320+310, 10+70),

                  (50, 50, 50), 3)

    

    for button in buttonList:

        button.draw(img)

    

    if hands:

        lmList = hands[0]['lmList']

        length, info, img = detector.findDistance(lmList[8][:2], lmList[12][:2], img)

        x, y = lmList[8][:2]

        if length < 50:

            for i, button in enumerate(buttonList):

                if button.checkClick(x, y) and delayCounter == 0:

                    myValue = buttonListValues[int(i/4)][int(i%4)]

                    if myValue == '=':

                        if len(myEquation) > 0:

                            if myEquation[0] != '+' and myEquation[0] != '-' and myEquation[0] != '*' and myEquation[0] != '/':

                                myEquation = str(eval(myEquation))

                    else:

                        myEquation += myValue

                    delayCounter = 1

 

    if delayCounter != 0:

        delayCounter += 1

        if delayCounter > 10:

            delayCounter = 0

    

    cv2.putText(img, myEquation, (320+10, 10+50), cv2.FONT_HERSHEY_PLAIN,

                3, (50, 50, 50), 3)

    cv2.imshow("Camera", img)

    key = cv2.waitKey(1)


    if key == ord('c') :

        myEquation = ''


7. lalu Run Proyek



8. Dan hasilnya












Komentar



 Diberdayakan oleh Blogger

Gambar tema oleh Michael Elkan

Komentar