Renk tablosundan renkler nasıl tanınır?


9

Grafikteki her yamanın rengini çıkarmak için aşağıdaki renk şemasını ve kamerayı kullanan bir vizyon uygulaması geliştiriyorum. Bunu yapmak için, önce bir görüntüdeki grafik alanını algılamalı ve alanı, yamaların bulunduğu mevcut şablonla eşleştirmeliyim.

Sorum: Grafiğin dört köşesini tanıyarak renk yama alanını tespit etmem gerekiyor. Küçük iç köşeli dikdörtgenlerin gösterdiği köşeleri aşağıdaki resimde görebilirsiniz. Bu konuda gitmek için bir yol biliyorum kullanıcının tıklayarak bu köşeleri seçmek için izin olduğunu. Ancak görüntüden dört köşeyi otomatik olarak algılamanın herhangi bir yolu var mı?

resim açıklamasını buraya girin


Sadece merak ediyorum, böyle bir renk referans tablosunu nereden edinebilirim?
hotpaw2

@ hotpaw2 Neredeyse her zaman olduğu gibi google. "İt8 hedefi" terimini arayın
Tae-Sung Shin

Yanıtlar:


4

Renk alanını tespit etmek için hough çizgileri barındırabilirsiniz

  • Önce tüm satırları tespit et
  • En uzun uzunluktaki çizgiler en çok dış olanlardır
  • Üst yatay çizgiyi seçin ve kareler için şablon eşleşmesi yapın.
  • Kareleri bulduğunuzda, diğer karelere ulaşmak için aşağı doğru ilerleyin.
  • Karelerin bulunduğu tüm noktaları işaretleyin
  • Artık renk tablosu için bir kapalı alanınız var.

2

Bir renk bileşeninin (RGB ve diğerleri) her 2D dizisi oldukça yüksek kontrast ve ayırt edicidir. Bu nedenle, fotoğraf görüntüsünün referans görüntünün ölçeğini ve ofsetini belirlemek için her renk bileşeninin karmaşık bir 2D FFT'sini kullanmayı deneyebilirim. Ardından, fotoğraftaki koordinatları oluşturmak için referans görüntüdeki köşelerin ve / veya yamaların ölçülen / bilinen koordinatlarını ayarlamak için bunları kullanın.

Bir bitmap düzenleyicisi kullanarak bir referans görüntüdeki bazı koordinatları ilk elden ölçmeniz gerekebilir.


1

İlk adım olarak - gri ve metin ile tüm dağınıklığı giderirdim. Dört taraftan başlayarak, piksellerin büyük bir kısmı benzersiz bir şekilde "gri" renkte olana kadar duracağım.

Bu sizi sadece farklı renklerden oluşan dama tahtasıyla bırakacaktır. Yaklaşık 22x12 - yaklaşık 264 renk beklersiniz.

En basit yöntem daha basit palatalizasyon algoritması uygulamak olacaktır. Bunu bir GIF görüntüsünde çevirmeniz gerekirse - sentroid renk olarak temsil edilen her renk kümesiyle renk nicemleme uygular.

Bu sizin durumunuzda özellikle kolay olacaktır çünkü kaynak zaten bir çeşit damaktır ve başlamak için iyi bir tahmin yapabilirsiniz.

Şuna bir bak:

NeuQuant: http://members.ozemail.com.au/~dekker/NEUQUANT.HTML

Octree Renk Ölçümü: http://www.cubic.org/docs/octree.htm . Bkz bu da.

Bunlar sadece bazı referanslardır; ancak bu tür görüntü formatlarını kullanan kitaplıkların çoğunda kullanıma hazır kod bulacaksınız. (BMP, PNG ve GIF bu tür gösterimleri destekler). Ayrıca , bazı hızlı uygulamalar için libpng ve libjpeg'e bakın.


0

Neden köşeler yerine grafiğin sınırlarını aramıyorsunuz? Bir kenar detektörü kullanmayı ve ardından Hough Transform'ı kullanarak düz çizgiler bulmayı deneyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.