Bir HSLS piksel gölgelendiricisi kullanarak, görüntüdeki tüm piksellerin toplamını nasıl verimli bir şekilde hesaplayabilirim? WPF shader efekti olarak çağırabileceğim Pixel Shader 2.0 ile ilgileniyorum.Tüm piksellerin etkili piksel gölgelendiricisi toplamı
cevap
WPF'deki etkiler görsel sonuç elde etmek için çok daha uygundur. Farklı bir hesaplama türü için kullanmak istediğiniz gibi geliyor, bunun için görüntü sonuçlarını RenderTargetBitmap'a ihtiyaç duyacaksınız. GPGPU için tasarlanmış bu projelere bakmak isteyebilirsiniz.
Accelerator Ben OpenTK içinde OpenCL bağlamaları durumunu bilmiyorum. DirectCompute ve CUDA gibi diğer teknolojiler de dikkate değer olabilir.
Gölgelendiricileri kullanmayan daha basit bir çözüm var: görüntüyü bir doku olarak yükleyin, bir mipmap zinciri oluşturun ve son mipmap değerini (1x1 piksel) geri okuyun. Bu hile, bir sahnenin (örneğin, HDR tonlama uygulamasının uygulanması için) ortalama brigthness'ini hesaplamak için kapsamlı olarak kullanılır. Doğruluk ve verimliliğe doğrulukta değer veriyorsanız harika bir numaradır.
WPF'deki bir görüntüden tam olarak nasıl bir mipmap zinciri oluşturursunuz, bu bir piksel gölgelendiricisini uygulamak kadar hızlı mı? – luvieere
Bir kutu filtresi kullanarak görüntüyü 1x1'e kadar yeniden boyutlandırarak. –
Bunun için teşekkürler. Dokularm biraz dejenere (yüksek hassasiyetli sayısal FFT'ler) ve bunun yerine üçgen filtrenin kullanılması, benim için yeterince iyi olan çok iyi sonuçlar verdi (artı veya eksi% 1 eksi). Ancak kutu filtre kapalıydı. – Thomas
görüntüdeki r/g/b kanal değerlerini toplamak istediğimizi varsayalım (ve orijinal pikselleri yok varsayılarak) - burada kısmi bir çözüm:
- Her 10. piksel ortalama renk hesaplamak olacaktır 10 komşu piksel ve bu ortalama rengi görüntü üzerine koy.
- Daha sonra her 10 pikselin CPU tarafında toplam
Pix_Value*10
.
Bu durumda, yalnızca CPU tarafında toplama piksel değerleriyle karşılaştırıldığında yaklaşık 10x hız artışı elde ederiz.
- 1. Tüm numaraların toplamı
- 2. OpenGL'de hesaplama gölgelendiricisi aracılığıyla Raytracing
- 3. piksel olarak video piksel oluşturmak, programatik olarak
- 4. autofmt_xdate, tüm alt piksellerin x ekseni etiketlerini siler
- 5. opengl invert framebuffer piksel
- 6. Piksel
- 7. toplamı
- 8. toplamı
- 9. Önceden Bağlı Bir Dokümeden Piksellerin Geri Alınması - OpenGL
- 10. toplamı
- 11. 3d dokuyu değiştirmeyecek bilgi işlem gölgelendiricisi
- 12. toplamı akıllıca
- 13. Matlabdaki alt piksellerin etrafındaki sınırlar nasıl azaltılır?
- 14. THREE.js Kenarlık ve bindirme - Materyal Gölgelendiricisi
- 15. XNA'da 2D piksel piksel nasıl çizilir?
- 16. Pandalar grubu iki sütun toplamı ve toplamı
- 17. Bot'a karşı etkili bir alan etkili mi?
- 18. piksel font
- 19. piksel contentEditable
- 20. Toplamı 3
- 21. MySQL toplamı
- 22. OpenCV Piksel "değer yok"
- 23. Sonuç kümesinin son satırındaki tüm sütun değerlerinin toplamı nasıl alınır?
- 24. Bir koleksiyon toplamı (tüm modeller) backbone.js ile alın
- 25. Python 3.4.3: İkili dize ağacındaki tüm uzunluktaki dizgelerin toplamı
- 26. Veritabanındaki tüm tabloların sağlama toplamı olan tablo oluşturulsun mu?
- 27. Pandalar içindeki tüm NaN'ler toplamı sıfır mı döndürüyor?
- 28. Etkili laravel
- 29. Tüm "karakter-eşit" dizeleri bulmak için etkili algoritma?
- 30. libgdx: SpriteBatch, Samsung Android cihazlarda parça gölgelendiricisi yanlış çalışıyor
"Tüm piksellerin toplamı" derken ne demek istiyorsunuz - tüm R/G/B değerlerinin toplamı mı yoksa farklı bir şey mi? –