在我的項目中使用GPUImage,我需要一種有效的方式來獲取列總和。天真的方式顯然是檢索原始數據並添加每列的值。任何人都可以爲此提出更快的方法嗎?要做到這一點GPUImage獲取圖像列的總和
0
A
回答
1
的一種方法將是使用予採取與GPUImageAverageColor類(如在this answer描述的)的方法中,只代替減少每幀的總大小在每個步驟中,只爲一名維要這樣做圖片。
平均彩色濾光片通過在X和Y兩個像素中逐步降低四倍來確定整個圖像的平均顏色,每個步驟將16個像素平均爲一個像素。如果在單一方向上操作,則應該能夠使用硬件插值法以每步一個方向減少18倍的性能。最後一步可能需要在更小的圖像上進行快速的基於CPU的迭代,或者需要對該着色器進行調整後的版本,將列中最後幾個像素一起放入該列的最終結果像素中。
您注意到我一直在討論這裏的平均值,因爲任何OpenGL ES操作的輸出值都需要使用顏色,每個通道只有0-255範圍的顏色。總和很容易溢出,但您可以使用平均值作爲總和的近似值,並使用更有限的動態範圍。
如果您只關心一個顏色通道,則可以將更大的值編碼到RGBA通道中,並以這種方式保持32位和。
除了我上面描述的,你可以看看在加速框架的幫助下執行這個總和。雖然可能不如基於着色器的縮減速度快,但它可能足夠滿足您的需求。
相關問題
- 1. 獲取一列的總和
- 2. 獲取mysql列的總和
- 3. 如何使用靜態圖像源獲取GPUImage動畫效果?
- 4. 總和圖像
- 5. WPF C#獲取DataGrid列的總和
- 6. 獲取可見行的總和列
- 7. 獲取一列的總和與記錄
- 8. 在PHP中獲取MySQL列的總和
- 9. 獲取odoo8中列的總和
- 10. 在WinForms中獲取列的總和
- 11. Datagridview獲取特定列的總和
- 12. 獲取sqlite列錯誤的總和
- 13. 獲取Redis中列條目的總和
- 14. Android獲取數據庫列的總和
- 15. 根據行值獲取列的總和
- 16. 新的GPUImage無法處理圖像
- 17. 獲取谷歌海圖表中列的總和
- 18. 獲取表格列的總和並添加到谷歌圖表
- 19. 如何覆蓋GPUImage中的一系列圖像
- 20. 圖像像素總和
- 21. 獲取最新的一列和其中列的總和
- 22. GPUImage:取消GPUImageMovieWriter
- 23. 獲取取決於其他列列的總和值
- 24. 獲取總和BudgetTransactionLine
- 25. 獲取圖像像素到陣列
- 26. 圖像的色值總和
- 27. 從圖表中獲取總和值
- 28. 核心圖像和GPUImage之間的主要區別
- 29. 通過uislider和gpuimage過濾器更改圖像的亮度
- 30. 如何通過GPUImage調整圖像的亮度和對比度?