IT之家 12 月 12 日消息,據(jù) OpenCV 中國(guó)開發(fā)團(tuán)隊(duì)消息,為了進(jìn)一步加速 OpenCV 圖像處理,即將推出的 OpenCV 4.9.0 版本提供了圖像處理相關(guān)的高頻使用接口的華為昇騰(Ascend)支持。

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