opencv涉及到的代碼優化

之前做過一些涉及到opencv的代碼優化
今天又碰到性能優化的工作,注意到 如果分配的內存超過1M個字節,那麼內存分配這個動作所耗費的時候不能忽略不計,這比對1M的內存進行 memcpy耗費的時間 多得多

然後發現 某些 opencv 函數做某種算法操作可能很高效, 但由於 opencv 要考慮到 各種外部調用的各種情況,很多API 內部喜歡 不管三七二十一,對傳入的Mat 再分配一次內存。 考慮到 經常是 用Mat來表示圖像數據, 所以這個Mat很容易過M,比如6006003的圖像,這就導致對圖像進行一些操作時 反覆分配內存

比如如下API: resize, split, convertTo

比如 opencv 400中有如下代碼:
在這裏插入圖片描述
這裏代碼作者都說了 一個改進事項就是: 不要總是重新創建Mat, 可能用戶已經傳入了正確的分配了內存的Mat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章