IT之家 12 月 12 日消息,據(jù) OpenCV 中國開發(fā)團隊消息,為了進一步加速 OpenCV 圖像處理,即將推出的 OpenCV 4.9.0 版本提供了圖像處理相關(guān)的高頻使用接口的華為昇騰(Ascend)支持。
除此之外,2023 年 10 月 17 日,OpenCV社區(qū)正式接納昇騰 + openEuler 作為持續(xù)集成(Continuous Integration,CI)系統(tǒng)的操作系統(tǒng)之一,這意味著未來 OpenCV 的代碼修改均會在昇騰 + openEuler 環(huán)境中進行自動化構(gòu)建及測試,保障了 OpenCV 在 openEuler 上支持的穩(wěn)定性。
據(jù)介紹,本次提供的以昇騰為后端的圖像處理接口封裝在 OpenCV 擴展包(opencv_contrib)的 cannops 模塊中,包括圖像矩陣的算術(shù)運算、通道拆分合并、圖片裁剪、翻轉(zhuǎn)、調(diào)整大小、轉(zhuǎn)置等圖像處理的 Python 和 C++ 接口,處理精度與 CPU 后端的計算結(jié)果相同。
OpenCV 是一個開源的跨平臺計算機視覺庫,提供了圖像處理,機器學(xué)習(xí),視頻分析等功能,支持多種開發(fā)語言,多平臺和多類型后端。其中圖像處理模塊提供了矩陣的算術(shù)和邏輯運算,圖像處理,視頻編解碼等,被廣泛運用于計算機視覺領(lǐng)域的數(shù)據(jù)預(yù)處理和后處理。
IT之家附調(diào)用昇騰后端實現(xiàn)圖像處理的示例:
除了對昇騰必要的初始化、去初始化之外,用戶無需學(xué)習(xí) CANN API,僅需要將原來的接口添加 cann 包名(C++ 接口為使用 cann 命名空間),即可使用昇騰算力。
import cv2 # cann初始化 cv2.cann.initAcl() # 選擇執(zhí)行運算的設(shè)備編號 cv2.cann.setDevice(0) # 圖像處理(以圖像旋轉(zhuǎn)為例) img = cv2.imread('/path/to/image') # 添加cann包名調(diào)用昇騰接口 ret = cv2.cann.rotate(img, 0) cv2.imwrite('/path/to/result', ret) # cann去初始化 cv2.cann.finalizeAcl()
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。