Używam XNA do zbudowania projektu, w którym mogę narysować "graffiti" na mojej ścianie za pomocą projektora LCD i kamery monochromatycznej, która jest filtrowana, aby widzieć tylko ręczne wskaźniki laserowe. Chcę używać dowolnej liczby wskaźników laserowych - nie obchodzi mnie to w tej chwili.Szybkie wykrywanie punktów subpikselowych laserowych
Ściana 10' x 10' , a aparat jest tylko 640x480 tak ja próbuje użyć pomiar subpiksel użyciem krzywej składanej jak opisano tutaj: tpub.com
zapełnienia w 120fps (8 -bit), więc moje pytanie do was wszystkich jest najszybszą drogą do znalezienia tego centrum lasera subpikselowego. Obecnie używam przeszukiwania 2D w trybie brute force, aby znaleźć najjaśniejszy piksel na obrazie (0 - 254) przed wykonaniem interpolacji splajnu. Ta metoda nie jest zbyt szybka, a każda klatka zajmuje więcej czasu niż komputer.
Edytuj: Aby wyjaśnić, moje dane z kamery są reprezentowane przez dwuwymiarową tablicę bajtów wskazującą jasność pikseli.
Chciałbym użyć cieniowania XNA, aby poprawić obraz. Czy to jest praktyczne? Z tego co rozumiem, tak naprawdę nie ma sposobu na utrzymywanie trwałych zmiennych w module cieniującym Pixel, takich jak sumy bieżące, średnie itd.
Ale z argumentów, załóżmy, że znalazłem najjaśniejsze piksele za pomocą brutalnej siły, a następnie zapisał je i ich sąsiednie piksele na krzywej splajnu na X wierzchołków przy użyciu texcoordów. Czy praktyczne jest wtedy użycie HLSL do obliczenia krzywej splajnu za pomocą texcoord?
Jestem również otwarty na sugestie poza moim XNA boxem, czy to DX10/DX11, może jakiś FPGA, itp. Po prostu nie mam zbyt dużego doświadczenia ze sposobami fałszowania danych w ten sposób. Sądzę, że jeśli mogą zrobić coś takiego na Wii-Mote przy użyciu 2 baterii AA, prawdopodobnie robię to w niewłaściwy sposób.
Wszelkie pomysły?
Co jest powolne, po wykonaniu skanowania lub wykonaniu interpolacji splajnu? – Nosredna
Interpolacja splajnowa jest zdecydowanie najwolniejszym komponentem, w zależności od tego, z którą delta oceniam splajn. W tym przypadku chciałbym uzyskać dokładność 0,1px. – bufferz
Powinienem dodać, że jeśli mam 20 laserów, obliczenia splajnu staną się bardzo drogim cenowo cPU. – bufferz