Bu yazı kapsamında Python ile OPENCV kütüphanesini kullanarak basit bir nesne tespiti/sınıflama uygulamasını nasıl gerçekleştirebileceğinizi anlatacağım. Örneğimizde OpenCV ML (machine learning) modülü içerisindeki SVM(Support Vector Machine) ve Object Detection modülü içerisindeki HOG yöntemlerini kullanacağız.
opencv etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
opencv etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
12 Ağustos 2021 Perşembe
23 Mart 2021 Salı
UAV Images Dataset (PESMOD) for Moving Object Detection from Moving Cameras
I have prepared a high resolution aerial images dataset for motion detection. This dataset (named PESMOD) consists of challenging images containing small targets compared to other publicly available datasets. You can view the preprint paper comparing two methods in the literature and proposed method which is relatively simple.
https://lnkd.in/dFVyP-ETo download the dataset and compare your own method
https://lnkd.in/d3ASwaC
Etiketler:
computer vision,
cpp,
Görüntü işleme,
opencv
6 Kasım 2020 Cuma
C++ ile OpenCV CUDA metodlarının kullanımı
Python kullanarak OpenCV ile Görüntü işleme üzerine yayınladığım udemy kurslarına ek olarak, C++ ile OpenCV+CUDA destekli metodları nasıl kullanabileceğimize dair bir başka video serisi daha hazırladım.
15 Ocak 2019 Salı
Docker ile Python ve OpenCV uygulaması - Giriş
Docker ile sanal ortamlar oluşturup, uygulamaları bu sanal ortam üzerinde çalıştırıp "benim makinemde çalışıyordu sende neden çalışmadı!" problemini ortadan kaldırabiliriz. Detayları için benim de istifade ettiğim şu linkteki yazıya göz atmanızı tavsiye ederim.
Bu yazı kapsamında sizlere (python+opencv) uygulamasını, bilgisayarımıza ilgili kütüphanelerin kurulumu ile uğraşmadan nasıl docker üzerinde çalıştırabileceğimizi açıklamaya çalışacağım. Bu basit örnek üzerinden, docker ile ilgili linkini verdiğim yazıdaki bazı noktaları da açıklamış olacağım.
10 Eylül 2018 Pazartesi
C++ - OpenCV Nesne Takip Modülleri
Bu yazı kapsamında sizlere OpenCV içerisindeki nesne takip modüllerinden bahsedeceğim.
Etiketler:
computer vision,
cpp,
deep learning,
opencv
28 Ocak 2018 Pazar
Learn Computer Vision with OpenCV and Python
I have prepared a course to teach computer vision & image processing from scratch. In this course, you will find special examples beside the fundamental topics. I preferred to use OpenCV which is an open source computer vision library used and supported by many people!. And I have used OpenCV with Python, because Python allows us to focus on the problem easily without spending time for programming syntax/complex codes.
Etiketler:
computer vision,
deep learning,
Görüntü işleme,
opencv,
python
9 Ağustos 2017 Çarşamba
Python - OpenCV Hit The Ball - Top sektirmece :)
A mini "hit the ball" game was implemented by using OpenCV and numpy libraries of Python. If you want to move your head and do a few tricks with the ball :) while sitting at your home or office, you can download the .py files (codes) at the end of this page and run it.
23 Ocak 2017 Pazartesi
Python - OPENCV Yaya Tespiti (Görüntü İşleme)
Yaya tanıma (pedestrian detection)
video takip, kişi davranış analizi, akıllı arabalar için sürücü
destek sistemi gibi farklı uygulamalarda kullanılabilir. Yaya
tespiti probleminde makine öğrenmesi teknikleri yaygın olarak
kullanılmaktadır, bu tekniklerde eğitilmiş sınıflandırıcılar
ile görüntü içerisindeki yaya tespit edilmeye çalışılır.
Sınıflama yapılırken yani bizim örneğimizde görüntüdeki
insanları bulurken, uygun bir sınıflandırıcı bulmak kadar
bulunacak nesneye ait olan seçici/ayırt edici bir özelliğin
(feature) çıkarılabilir olması da çok önemlidir.
Yayaların tanınması probleminde HOG (Histograms of Oriented
Gradient) ile özellik çıkarılması yönteminin başarılı
sonuçlar verdiği gösterilmiştir.
6 Aralık 2016 Salı
Blob Detection Using OPENCV (C++)
GitHub (https://github.com/mribrahim/Blob-Detection) to download the codes and contribute the project
A Blob means a group of connected pixels in an image that share near intensity values. In the image below, the goal is to detect the blobs and identify some properties belong to that blobs, as if regionprobs in Python (http://scikit-image.org/docs/dev/api/skimage.measure.html#skimage.measure.regionprops).
Measure Properties of Regions
center: point2f -> Center coordinates of region
area: float -> Number of pixels of region.
perimeter: float -> Perimeter of region.
eccentricity: float -> Between 1 and 0. (1 for circle)
solidity: float -> Between 1 and 0. ( Area / ConvexHullArea )
compactness: float -> Between 1 and 0. ( Area / BoundingRect Area ) -- measure of how close to a rectangle
mean_intensity: Vec3b -> mean intensity values of three channel(blue,green,red) of the region
bounding_box: Rect -> Bounding box of the region
6 Kasım 2016 Pazar
HSV renk uzayı, Renk filtreleme
RGB renk uzayı renkleri farklı
tonlardaki üç ana rengin (kırmızı,yeşil,mavi) karışımı ile
tanımlar.
HSV renk uzayı ise Hue,
Saturation ve Value terimleri ile rengi tanımlar. RGB
de renklerin karışımı kullanılmasına karşın HSV de renk,
doygunluk ve parlaklık değerleri kullanılır. Doygunluk rengin
canlılığını belirlerken parlaklık rengin aydınlığını ifade
eder. HSV uzayında siyah renk için renk ve doygunluk
değerleri 0 ile 255 arasında herhangi bir alabilir iken parlaklık
değeri sıfırdır. Beyaz renkte ise ise parlaklık değeri 255'dir.
Buna göre herhangi bir bilgisayarlı
görme/görüntü işleme uygulamasında belirli renkteki bir nesneyi
ayırt etmek istediğimizde HSV renk uzayını kullanmak daha
elverişlidir. Çünkü RGB nin aksine sadece hue değerini
kullanarak eşik değer uygulama suretiyle renkleri daha net ayırt
edebiliriz.
Örneğin; Aşağıda soldaki Muslera fotoğrafından kırmızı bölgeleri ayırt etmek istediğimizde; HSV renk uzayını kullanınca sağ üstteki sonucu, RGB renk uzayını kullanınca sağ alttaki sonucu elde ediyoruz. İlgili Python kodlarına yazının devamında ulaşabilirsiniz.
27 Ekim 2016 Perşembe
Python - Opencv kamera kalibrasyonu
Kamera kalibrasyonu 3 boyutlu bilgisayarlı görme uygulamalarında son
derece önemlidir. Malumunuz kamera ile elde edilen görüntüler 2
boyutludur ve ayrıca kullanılan lensten kaynaklanan bozulmalar da
vardır. Örneğin kullanılan lense göre görüntünün
merkezindeki pikseller ile kenarlardaki piksellerin yer değiştirme
oranları(nasıl tarif edeceğimi tam bulamadım ama literatürde
bknz. lens distortion) farklı olabilir (Şekil 1). Kameranın
üretiminden kaynaklanan bu bozukluğu gidermek için; kameranın iç
parametreleri diye adlandırılan lens parametrelerini tahmin edip
görüntüye düzeltme işlemi uygulamak gerekir. Bunun için gerçek
büyüklüğü bilinen bir nesne referans olarak kullanılmalıdır.
Genelde satranç tahtası (chessboard) bu amaçla
kullanılır ve görüntü işlemede yaygın kullanılan OPENCV
içerisinde de bu amaçla geliştirilmiş fonksiyonlar mevcuttur.
Şekil 1
30 Ağustos 2016 Salı
Python - OPENCV ile kişi sayma
Bu yazı kapsamında
Python ile OPENCV kütüphanesini kullanarak tavana yerleştirilmiş
bir kameradan elde edilen görüntüler ile hareket eden nesneleri
(bizim örneğimizde kişileri) saymaya çalıştık. Bunun için
kullanacağımız algoritmanın temel adımlarını şu şekilde
sıralayabiliriz;
1- Background Subtraction : Sabit bir
arka plandan her gelen yeni görüntüyü çıkararak görüntüde
(videoda) değişen kısımların yani hareketli nesnelerin belirlenmesi
2- Object Tracking : Belirlenen bu ön
plandaki nesnelerin takip edilmesi
3- People Counting : Takip edilen bu
nesnelerin (hareketli kişilerin) belirli noktayı geçtiklerinde
sayılması ve geçiş yönünün belirtilmesi
( Kullandığımız videoyu şuradan indirebilirsiniz.. )
Background Subtraction için OPENCV
kütüphanesi içerisindeki fonksiyonlardan arka planının modellenmesinde Gaussian Mixture Model'in kullanıldığı
cv2.BackgroundSubtractorMOG() fonksiyonunu kullanıyoruz.
Bunun için ilk olarak masaüstünde kayıtlı olan çekilen alanın boş bir görüntüsünü yüklüyoruz. Daha sonra ise videoyu yükleyip her bir gelen frame 'e backgroundsubtraction işlemini uyguluyoruz.
Etiketler:
Görüntü işleme,
kişi sayma,
opencv,
python
Kaydol:
Kayıtlar (Atom)





