Image process

Başlatan z, 07 Şubat 2016, 14:59:18

z

Kartezyen koordinatlarda çalışan bir robotum var. Bununla çipleri programlayacağım.

Sol haznede programlanmayı bekleyen çipler, ortada programlama cihazı, sağ haznede de programlanmış çipler için boş hazne olacak.

Robot önce programlayıcı soketin mandalını açacak sonra gidip boş bir çip alacak. Sonra çipi programlama soketine dikkatlice oturtacak. Mandalı kapayacak programlama işlemini yapacak.

http://youtu.be/p_G8bDhcsbs

Mandala basıp soketi açacak çipi çıkartacak ve programlanmış çipler haznesine çipi bırakacak.

Burada çipin programlama soketine yerleştirilme kısmı biraz belalı. Zira robot, çipi alıp soketin üstüne konulandırdığında çipin yakalanma açısına bağlı olarak soket ve çip bacakları arasında mükemmel izdüşüm oluşmayacak. Bu sorunu kamera ile çözmeyi ve programlama cihazını motorla döndürmeyi düşünüyorum.

Görüntü işleme için özel bir tool kullanmayacağım delphi'de kendi yazacağım kodlarımla bir şekilde çözmem lazım.

Fakat görüntü işleme üzerine ciddi hiç bir deneyimim yok.

Şu anda kamera görüntüsünü image nesnesinin içine atabiliyorum.

Fakat daha sonrası için bahsettiğim sorunun çözümüne yönelik hiç bir planım yok.

Biraz sohbet edelim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

sovalye

Hocam, eğer çipi doğru tarafından yakalayabiliyorsanız görüntü işleyip proglamlayıcı döndürmek yerine robot kolun kafasını yatay eksende serbest hareket edecek şekilde yapıp daha sonra kafayı çipe göre hazırlanmış kalıptan geçirseniz daha rahat olmaz mı?

z

Çip herhangi bir açıda yakalanabilir. Düzgün açıda yakalansa bile taşıma esnasında açısı kayabilir.

Döndürme kısmı sorun değil. Önemli olan kamera ile çipteki dönme miktarını algılamak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

engerex

Zemin rengi beyaz veya sarı gibi açık renk olur. Görüntü alırsın ve siyah beyaz yaptığında çip siyah kare görünür. Bunun duruş açısını hesaplarsan dönmesi gereken açıyı bulmuşsun demektir.

sovalye

@engerex hocam sorun kareyi 90 derece ile dogru acilamak degil galiba 360 derece de dogru hizalamak, ters yonde takabilme ihtimali var. Cipin uzerindeki isareti de okuyabilmesi lazim sistemin.

engerex


vsalma

Yapacaginiz goruntu isleme algoritmasinin zorlugu veya basitligi cevresel etkilerle cok alakali. Cok kontrollu bir aydinlatma yapip, disaridan isik girisini minumuma indirgeyebiliyosaniz cok basit algoritmalarla cozebilirsiniz. Tabi kameranin kalitesi de onemli. Buraya kamerayi yerlestireceginiz acidan ornek resimler atabilirseniz algoritma uzerinde fikir yurutebiliriz.   

universitelim54

Goruntu ıslemek cok zor ıstır... allah kolaylık versın sabırla arastırmaya devam etmelısın

z

Alıntı yapılan: vsalma - 07 Şubat 2016, 17:54:55
Yapacaginiz goruntu isleme algoritmasinin zorlugu veya basitligi cevresel etkilerle cok alakali. Cok kontrollu bir aydinlatma yapip, disaridan isik girisini minumuma indirgeyebiliyosaniz cok basit algoritmalarla cozebilirsiniz. Tabi kameranin kalitesi de onemli. Buraya kamerayi yerlestireceginiz acidan ornek resimler atabilirseniz algoritma uzerinde fikir yurutebiliriz.   

Robotun elektronik devrelerini ve makanik kontrol yazılımlarını bir iki güne bitiririm. Bu amaçla web cam, eğer sorun yaşarsam mikroskop kamera kullanacağım. O aşamaya geldiğimde bol bol video ve resim koyarım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

#9
opencv

mesaj birleştirme:: 08 Şubat 2016, 01:02:19

https://www.youtube.com/watch?v=cVgiaD3grko

z

Bu işin mantığı nasıl kurulacak? Kameradan görüntüyü alıyorum.

Eee sonra?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

boreas

Bu işin olmazsa olmazı OPENCV. (Elbette onsuzda olur ama çok tırmalar ve daha az performans elde edersiniz. Çünkü opencv hız adına Grafik işlemci vs.de kullanıyıor). Olay kabaca 'yüz için araştırmıştım' image üzerinde belli efektrler uyguluyorsun siyah beyaz'a çeviriyorsun threshold tekniği ile bir kısım istenmeyen görütüleri temizliyorsun sonra şurada yuvarlak varsa (sol üst köşe) işte şu boyutta bir diktörgen olmalı onuda bulduysam etrafında şu noktalarda küçük baçaklar olmalı vs. gb sorgulamaya gidip görselin ne olduğunu anlıyorsun. İşte opencv.de bu işler çok daha kolay ve hızlı oluyor. Türkçe birde kitap var görüntü işleme Open CV diye . Delphi içinde muhakkak kitaplığı olduğunu düşünüyorum ama deneme fırsatım olmadı.

z

#12


Yukarıdaki resim, uygun ışıklandırma yapılmamış kalitesiz bir kameradan alınmış fotoğraf karesi olsun.

Aslında resimdeki nesne bir doğru parçası. Fakat gürültü nedeniyle etrafta uçuşan noktalar da var.

Amacımız image işleme ile bu resimde doğru varmı sorusuna Evet / Hayır cevabı vermek ve eğer varsa doğrunun eğimini bulmak.

Bu dersi alan arkadaşlar muhakkak vardır. Bana kısaca mantığı anlatırmısınız?

Bu resimde doğru parçası varmı yokmu eğer varsa eğimi ne sorusu için hangi işlemleri yapacağız?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Klein

#13
Abi o sağda soldaki gürültüleri  yook etmek için komşuluk ilişkilerine bakıyorsun.  Bunun için morfolojik filtre çeşidi olan açma ve kapama ( erosion, dilation)  yapıyorsun.  açma  ile gürültüleri yok ediyor, kapama ile birbirine yakın parçaları birleştiriyorsun.

http://www.cescript.com/2012/08/morfolojik-goruntu-isleme.html

burada biraz daha ayrıntı var
https://www.google.com.tr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0ahUKEwiyz-2v6-_KAhVpYpoKHbFnDh8QFghdMAk&url=http%3A%2F%2Fwww.yalova.edu.tr%2FFiles%2FUserFiles%2F70%2Faliiskurt%2FIMAGE_PROCESS%2Fmorfolojik_30Ekim.pdf&usg=AFQjCNFJReWlbAgse5foJbnVVWfemdLMoQ&sig2=GhUcuUxZFriFL9L2Ethlvg&cad=rja

sovalye

@z hocam goruntu isleme konusunu bilmiyorum ama istediginiz dogruyu ve varsa egimini bulmak machine learning e giriyor. O konuda birseyler yazabilirim. Oncelikle resim dosyasini matris olarak acarsiniz. Opencv olur, Cimg olur. Ufak bir islemle siyah noktalari xy kordinatina donusturursunuz. "Linear regression" ile bu noktalarin arasindan gecen ve hata payini en dusuk tutan y=ax+b denklemini bulursunuz.