日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

OpenCV在多線程下不能讀取AVI視頻的解決辦法

系統(tǒng) 1852 0
之前OpenCV在多線程下讀取AVI視頻不奏效的問題解決了好久,后來不得已換成了AVI stream來解碼。本以為是解決了,在我的筆記本上和臺式機上都正常的運行,可是到了別人的XP系統(tǒng)中又不能運行了,這樣才真正的涉及到本質問題,一樣是不行的,為什么呢?查了很久,之前AVIFILEOPEN這個函數(shù)的返回值始終是-2147221008,可是都沒有找到本質原因,后來才發(fā)現(xiàn),要把這個代碼換成16進制就可以搜索到很多相關的項目了。原來不是什么OpenCV的bug,是因為多線程使用前必須加一句CoInitialize(NULL);來對線程進行一個初始化。把這個簡單的話加到AVIStream解碼中和OpenCV解碼的前面,發(fā)現(xiàn)這兩種解碼的方式都可以正常運行了。這個問題困擾了我好幾天,卻通過這么曲折的方式解決掉,實在讓我有點意外。上網(wǎng)查了一下,發(fā)現(xiàn)這兩個函數(shù)用來設置COM庫的,可是我怎么知道OpenCV和AVIStream或者是XVID里面是否用到了COM庫呢?哎,只能吃啞巴虧了,也不可能從頭到尾去專研這個,畢竟只是一個工具而已,下次記住就OK了。
?
注:
CoInitialize是用來初始化COM庫的;
CoUninitialize是用來對COM庫做些清理工作的;
CoInitialize Function

Initializes the COM library on the current thread and identifies the concurrency model as single-thread apartment (STA).New applications should call CoInitializeEx instead of CoInitialize

OpenCV在多線程下不能讀取AVI視頻的解決辦法


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 泾源县| 同心县| 东辽县| 牟定县| 讷河市| 驻马店市| 洪江市| 罗江县| 荣成市| 华阴市| 日喀则市| 屯昌县| 济宁市| 阳泉市| 昭平县| 青浦区| 陕西省| 同仁县| 泰和县| 开阳县| 巴林左旗| 安陆市| 奇台县| 承德市| 余江县| 秦安县| 忻州市| 通榆县| 成武县| 大渡口区| 察雅县| 冕宁县| 札达县| 商水县| 萍乡市| 霍邱县| 石景山区| 马公市| 张家界市| 莒南县| 叙永县|