PCB Hole Position DetectionAbstract'daki Chain Code Table ve Line Segment Table Application of Application in PCB Hole Position DetectionAbstract: This article studies the positioning of printed circuit boards (Printed-Circuit Board) holes in the industry and achieves the purpose of benchmarking the PCB board punching machine. CCD tarafından alınan görüntüsün etkileşimli önişleme, zincir kodu tablosu ve çizgi bölüm tablosu ile PCB delik pozisyonunun centroidini doğru ve hızlı belirlemek için kullanarak kullanarak kullanılır. Bu kağıtlardaki yöntem centroidi tam olarak 0,001 piksel seviyeye kadar tanıyabilir. Bölgeyi, çevresini, şeklini ve deliğin centroidini öğrenin. Bu yöntem VC++6.0 platformunda başarıyla çalışıyor ve programlama hızlığı hızlı ve gerçek zamanı, doğru, akıllı ve toplu denetimlerini sağlayabilir. Bu, PCB tahtasının kalitesini ve hızlığını çok geliştirir.
İçeri
Otomatik Optik Denetim (AOI, Otomatik Optik Denetim) son yıllarda ortaya çıkan görsel denetim yöntemidir. CCD'den görüntüler alır ve bilgisayar işleme ve analizi aracılığıyla defekler ve yanlış işlemler yargılıyor. PCB üretim satırında AOI'nin uygulaması hızlı keşfetme hızı, kısa programlama zamanı ve büyük sayılarda görüntülerin zeki keşfetmesi ve kontrolünün avantajları vardır. Sanayi teknolojisinin geliştirilmesiyle, PCB kurulun açık büyüklüğünün ihtiyaçları daha doğru geliyor ve makinelerin kütle üretimi için de ihtiyaçları daha yükseliyor. Bu makale delik hesap makinesi üretilen bir şirketin projesinden geliyor. Teknik şartları, PCB deliğinin en az oranı 0,2mm ve her PCB üzerinde 2000 çevre delik var. Toplam işleme zamanı 10'dan fazla değil. Sonuç işlemden sonra alınır. Döngünün merkezi 0,01 piksel seviyesine doğru, ve örnek merkezinden her daire merkezinin dönüşü 25'den fazla olmamalı. Merkezi ayrılığının %80'ünün bu indeksesini aştığı sürece, bilimsiz olarak kabul edilir ve ekipmanın ayarlanması gerekiyor.
"Edge" piksel gri seviyesinde bir adım değişikliği veya çatının benzeri bir değişikliği olan resimdeki piksel koleksiyonu anlatır. Hedef ve arkaplan, hedef ve hedef, bölge ve bölge arasında, ilkel ve ilkel arasında var. Görüntü tanımı ve analizi için çok faydalı. Kenarın hedef nesnesinin çizgisini gösterebilir, izleyici onu bir bakışta görebilir ve çok fazla bilgi içerebilir [1]. Bu yüzden delik pozisyonu bilgilerini almak için ilk sınır değerlendirmesi ve kontrol izlemesi gerekiyor. Özgür adam zinciri kodu kenarın bağlantını izlemek için kullanın, zincir kodu masasını ve hatı bölüm masasını verileri depolamak ve işlemek için kullanın.
1 Görüntü alıştırma ve önişleme
(1) Bu makale yüksek kontrast ve yüksek kaliteli görüntüleri almak için arka ışık ve yüksek çözümleme kameralarını kullanır. Görüntü çözümlemesi 409*096. Görüntü kaynağının kalitesi çok önemlidir ve sonraki görüntü işlemlerine doğrudan etkileyecek.
(2) Görüntüyü düzeltmek için orta filtreleme kullanın, bunun amacı sesin etkisini azaltmak veya yok etmek ve resim kalitesini geliştirmek. Orta filtreleme, bazı koşullarda en az orta kare filtreleme ve orta filtreleme gibi çizgi filtreler tarafından sebep olan görüntü detaylarının çevirmesini üstlenebilir ve puls interferini ve görüntü tarama sesi filtrelemek için en etkili. Bu makale ilgili görüntüler için PCB tahtası Hole detayları bozuldu, bu yüzden orta filtreleme daha uygun. Onun avantajı, görüntünün kenarlarını yok etmeden sesi silebilir.
(3) Sınıf bölümü için OSTU (Sınıf Çeşitme Metodosu arasındaki Maksimum) kullanın. Bu metod basit, stabil ve etkili. En az fonksiyonu ve kare metodun prensipini yargılamak üzere sınırı otomatik olarak seçen bir binarizasyon metodu. Bu fikir, görüntüyü bölmek Histogram, belli bir gri seviyesiyle iki grupa bölüştür. Bölünen iki grupın farklılığı en büyük olduğunda, gri seviyesi en iyi sınıra ayarlanır [2].
2 Suretin veri sonuçlarını tanımlamak için zincir kodu tablosu ve çizgi bölüm tablosu kullanın [3]
(1) Freeman zinciri kodunu kullanın Freeman zinciri kodu izlemesi [4] sekiz bağlantı ve dört bağlantı zincir kodu olarak bölüler. Sekiz bağlanmış zincir kodu, merkez piksel 8 komşuna gösterdiği yöntemle tanımlanır ve dört bağlanmış zincir merkez piksel kullanır. 4 komşunun yönüne doğru göster, 0.½3 değerinde. Bu makale a şağıdaki 2'de gösterilen sekiz bağlantı zincir kodu kullanır, 8 bağlantı zincir kodu saat yönünde döner ve zincir kodunun değeri 45 derece saat yönünde 1'e düşür. Eğer zincir kodunun değeri 4'e artırsa, yönü döndürülür ve 8 eklenir. Sonra orijinal yönüne geri dön. Zincir kodu 8'den fazla ya da 0'dan az olduğunda, 8'yi silmek veya eklemek için modül 8 operasyonu kullanın.
(2) zincir kodu tablosunun uygulamasıName
PCB tahtasındaki tek deliğin izlemesi için bu makale hedef nesnesinin sınır zinciri kodunu almak için Freeman zinciri metodu kullanır. Hedef vücudun gri seviyesini aradığında, bu nokta hedef vücudun sınır noktası. Eğer bu nokta kodlanmazsa, bu nokta belli bir delik pozisyonunun başlangıç noktasıdır. Bu noktadan, bağlantı izlemesi Freeman zinciri kodu tarafından gerçekleştirilir ve sınır üzerindeki her noktayın zincir kodu değeri izlenebilir ve merkez noktayın koordinatların ve komşu noktaların çevirme değeri 1. tabulda gösterilir. Her sınır noktasının koordinatları başlangıç noktasının koordinatlarından alınabilir. Bu iki boyutlu bir dizi inc olarak ifade edilebilir[8][2].
Özellikle kodlama süreci: hedef nesnesinin gri seviyesini G1 olarak ayarlayın ve arkaplan gri seviyesini G2 olarak ayarlayın. Tüm PCB tahtasının resmini arayın. Bir nokta A, G1'nin gri seviyesine karşılaştığında, sınır noktası olarak kabul edilir. A'den başladığında, delik pozisyonunun sınırı saat yönünde araştırılır ve başlangıç değeri 4'e eşit zincir kodu değeri olarak belirlenir, yönündeki sonraki noktayı arayın. Sonraki noktayın gri değeri G1'e eşit ise, sonraki sınır noktası. Yoksa arama yöntemi 45 derece saat yönünde döndürülür ve zincir kodu değeri noktayı aramaya devam etmek üçdür, böylece ilk nokta her zaman gri değeri G1 ile sağlayan A nokta B buldu. Sonra B'yi yeni sınır noktası olarak ayarlayın ve izleme sonu bayrağını 0'ya koyun. Eğer komşu noktalarda sınır noktası bulunmuyorsa, takip sonu bayrağını 1'e ayarlayın, ayrı bir nokta olduğunu gösteriyor.
B noktası yeni sınır noktası olarak alınır. Başlangıç zinciri kodunun yönetimi olarak zincir kodu değerini alın. Son sınır noktası A'ye kadar yukarıdaki izleme saat yönünde tekrar edin. Tek delik bitmap izlenir, ve bu alanı renk doldurma ile Mark, yani araştırıldığını anlamına gelir, ve takip edilen zincir kodu değeri zincir kodu masasında saklanır. Bu kağıt içinde, zincir kodu tablosu bir boyutlu büyük sayı kodu[ ]; 0 ve 1 ünlü kaynaklı içerikler başlangıç noktasının X ve Y koordinatlarındır, ve toplam zincir kodu numarası ünlü 2 numaralı birimde kaydedilir. N numarası, ünlü 3 ile başlayan birimden, ilk sınır noktasının zincir kodu değerini kaydedilir. İkinci sınır noktasının zincir kodu değeri... Son Nh sınır noktasının zincir kodu değerine kadar.
3 Hat bölüm masası
(1) Çizgi bölüm tablosunun tanımlaması
Çünkü zincir kodu tablosu sadece hedef vücudun sınırını temsil edebilir, ama sınırın içerisinde ve dışında değil, zincir kodu tablosu hedef vücudun iç piksellerini temsil edemez, ama aslında, bir resmin sınır noktalarını ve çevresini almak üzere, aynı zamanda bu maddelerde alınan delik merkezinin verileri ve alanı gibi diğer parametreler için de alır. İçindeki piksellerin işleme ve hesaplamasını fark etmek için çizgi bölüm masasının başka bir yapısı gerekiyor.
Bölgeyi de yatay çizgi bölümlerinden oluşturulmuş olarak görülebilir. Her çizgi bölümü iki sonu noktaları ile temsil edilebilir. Taramaya göre bölgedeki tüm yatay çizgi bölümlerini düzenleyen son nokta tablosu çizgi bölüm tablosu denir. Çizgi bölüm masasının her noktası iki parçadan oluşturur. Hatta numaralı nokta sol sonun noktasının koordinatlarını temsil ediyor ve tek numaralı nokta sağ sonun noktasının koordinatlarını temsil ediyor. Eğer bir yapı DOT çizgi bölüm masasını temsil etmek i çin belirlenirse, tek boyutlu bir çizgi noktası kullanın [ ], çizgi bölümünü temsil edeyim Bu çizgi bölümünün sol sonu nokta[2*i] olarak ifade edilebilir ve sağ sonu nokta[2*i+1].
(2) Hat bölüm tablosunun uygulamasıName
Çizgi bölüm tablosu her çizgi bölümünü ve çizgi bölümünün sonu noktası değerini alır, böylece alanın iç piksellerini hesaplamalardan kolayca alınabilir, ve görüntüsün diğer önemli parametreleri, bu maddelerde gerekli parametreler gibi: hesaplama alanının bölümünü, yerçekimi merkezi ile alınabilir; Çabuk bir alanı doldur (tekrarlanan aramaları ve etkileşimliliğini geliştirmek için); bölgenin biçim parametrü, formülü F = L*L/4 ÏS olarak ifade edilir.
Bu projenin amacı devre deliğin merkezini keşfetmek, bu yüzden bölgenin şekli keşfetmesi için özellikle önemli. Yukarıdaki formülde L çevre ve S bölge. Bu proporsyon tarafından alınan biçim parametrü F çevrenin biçim parametrüdür. 1. 1'den daha büyük fark, daire şeklindeki fark daha büyük. PCB deliğindeki deliklerin sayısını ve çevrenin merkezini saymak için bu şekil parametrü yargılama için kullanılabilir. Eğer 1'e yaklaşırsa, çevre deliğin işledildiği gibi yaklaşılabilir. Yoksa direkt çevre olmayan delik renk işaretiyle doldurur ve sonuçlarında kaydedilmez.
(3) Zincir kodu tablosu çizgi bölüm tablosuna dönüştürücü [5]
Görüntünün diğer önemli parametrelerinin alınabileceğini göstermek için çizgi bölüm tablosunu kullanın ve zincir kodu tablosundan çizgi bölüm tablosuna dönüşüm 2. tablosuna uygun olabilir.
Özellikle adımlar böyle:
Tabanın dönüştüğünden sonra zincir kodu üç tür alır [6]: orta nokta, 0 tür numarası; sol sonu noktası, 1. tipi; numaralı noktası; sağ sonun noktası, 2. tipi; Tek nokta, 3. tipi. Zincir kodu tablosunun verilerine göre, gelen zincir kodu değeri ve çıkan zincir kodu değeri bililebilir ve bu nokta türü ikisinin yönünde belirlenebilir. Programın tasarımında, nokta tipi 3. tablosuna göre yargılanabilir. Eğer sol ve sağ sonu noktaları ise, koordinatlar geçici bir dizi içinde kaydedilir. Tek nokta aynı sol ve sağ noktaların tesadüf olarak kabul edilebilir, yani ortasında iki kez depolanmalıdır. Hat bölüm tablosunun sonu noktaları Y koordinatının boyutuna göre sıralanır ve aynı satırda X koordinatının boyutuna göre sıralanır.
4 deneysel sonuçlar
Bu deney, bu projenin PCB görüntüsünün görüntüsünü işlemek, ekran görüntüsü ve dolu görüntüyü işlemek için alır.
Bu makaledeki algoritm ve program ı ekran fotoğraflarını işlemek için kullanın, verileri depolamak için zincir kodu tablosu ve çizgi bölüm masasını kullanın ve PCB delik konumunun bazı parametre bilgilerini alabilirsiniz.
5 Sonuç
Bu kağıt içinde, arka ışık kaynağı yüksek kaliteli PCB görüntülerini almak için kullanılır, ve OSTU eşiği bölümleme yöntemi kaynak görüntülerinin ikili görüntülerini sağlam ve basit olarak, bağlantı izlemek ve önümüzdeki noktayı takip etmek için kullanılır. Daha hazır ve zaman kurtarma. Zıplak kodu tablosu ve çizgi bölüm tablo deposu verileri ve veri işleme ve PCB tahtasının perimetrini, alanı ve delik merkezini almak çok uygun ve doğru, ve PCB tahtası yumruklandığında pozisyon sorunu başarıyla çözer. Bu deney Visual C++ yazılım platformunda çalıştırıldı ve doğrulandı. Bu proje tarafından gereken hızlık ve doğruluğu elde edebilir. Sonuçlar bu yöntemin olabileceğini kanıtladı.