İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Real Time Template Matching

b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Konular:
64
Teşekkür (Etti):
143
Teşekkür (Aldı):
221
Ticaret:
(0) %
09-03-2018 00:57
#1
Real Time Template Matching
[COLOR="LemonChiffon buradan ulaşabilirsiniz. Son olarak tespit edilen bölgeyi ve eşleşme oranını döndürüyoruz.

Program başlatıldığında, dosyaları okuyor ve ardından detect fonksiyonunu çalıştırıyor, döndürdüğü değerin belirlediği bölgeyi işaretliyor ve kullanıcıya gösteriyor.

Hemen nasıl çalıştığına bakalım.


Gerçek Zamanlı Template Matching

Şimdi, sürekli kameradan alınan fotoğrafların içerisinde templatelerin aranacağı bir program yazalım.

Kod:
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
#
#

__author__ = '@laszlokuehl'

import os
import cv2

class TemplateMatch:
    def __init__(self, templates):
        self.cam = cv2.VideoCapture(0)

        for temp in templates.keys():
            templates[temp] = (templates[temp], *templates[temp].shape[::-1])

        self.templates = templates

    def detect(self, frame, temp, w, h):
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

        result = cv2.matchTemplate(frame, temp, cv2.TM_CCORR_NORMED)
        min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)

        top_left = max_loc
        bottom_right = (top_left[0] + w, top_left[1] + h)

        return (max_val, top_left, bottom_right)

    def main(self):
        while True:
            _, image = self.cam.read()

            for name, temp in self.templates.items():
                result = self.detect(image, *temp)

                if result[0] >= 0.98:
                    label = '{}: {:.2f}%'.format(name, result[0] * 100)

                    cv2.putText(image, label, (result[1][0], result[1][1] - 10), cv2.FONT_HERSHEY_COMPLEX, 0.5, (32, 32, 32), 1)
                    cv2.rectangle(image, *result[1:], (32, 32, 32), 2)
                else:
                    print('{}: {:.2f}%'.format(name, result[0] * 100))

            cv2.imshow('temp match', image)

            if (cv2.waitKey(5) & 0xFF) == 27:
                break

        cv2.destroyAllWindows()

if __name__ == '__main__':
    app = TemplateMatch(
        dict(
            [(img.split('.')[0], cv2.imread('templates/' + img, 0)) for img in os.listdir('templates') if 'png' in img]
        )
    )
    app.main()
Mantık yine aynı, her şey detect fonksiyonunda olup bitiyor. Program, templates klasöründeki tüm dosyaları templates adlı bir sözlüğe isimleriyle beraber ekliyor, kameradan alınan her fotoğraf içerisinde bu templateleri arıyor. Eğer eşleşme oranı %98’den büyükse, bunları isimleriyle beraber fotoğraf üzerinde işaretleyip kullanıcıya sunuyor.

Hemen çalıştırıp sonucu görelim!


İşte istediğimiz sonuç, nesneleri algılayabiliyor. Anlayamadığınız yerde, mail atmaktan çekinmeyin, bilgim neticesinde yardımcı olmaya çalışırım. Kolay gelsin!
[/COLOR]
Konu b0mb tarafından (09-03-2018 18:02 Saat 18:02 ) değiştirilmiştir.
'DARK, k3~, BufGix, Javabex Teşekkür etti.
b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Konular:
64
Teşekkür (Etti):
143
Teşekkür (Aldı):
221
Ticaret:
(0) %
09-03-2018 18:03
#2
Bu arada, multi-scale çalışabilmek için aşağıdaki yazıyı okuyabilirsiniz.

https://www.pyimagesearch.com/2015/0...python-opencv/
k3~
k3~ - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
10/2015
Mesajlar:
2.881
Konular:
202
Teşekkür (Etti):
1743
Teşekkür (Aldı):
3389
Ticaret:
(0) %
10-03-2018 00:14
#3
Eline koluna sağlık
b0mb Teşekkür etti.
b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Konular:
64
Teşekkür (Etti):
143
Teşekkür (Aldı):
221
Ticaret:
(0) %
10-03-2018 02:09
#4
Teşekkür ederim

Alıntı:
easyly´isimli üyeden Alıntı Mesajı göster
Yoksa bir self driving car projesi mi geliyor

Eline Saglik.
Yapılacaklar listemde her ne kadar biraz aşağıda olsa da, öyle bir planım var, teşekkür ederim
Konu 'Adige tarafından (16-03-2018 02:56 Saat 02:56 ) değiştirilmiştir.
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
12-03-2018 14:27
#5
Yoksa bir self driving car projesi mi geliyor

Eline Saglik.
---------------------
~Cahile gelmez benden hayır

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı