日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cv::parallel_for_ 的一个例子

發(fā)布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cv::parallel_for_ 的一个例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

重點:

??? paralle_for_設(shè)置成n個線程,則實際只有n-1線程并行,第n個線程會等待其他線程運行結(jié)束后再執(zhí)行,所以n=1和n=2實際上都是串行

cv::parallel_for_是opencv封裝的一個多線程接口,利用這個接口可以方便實現(xiàn)多線程,不用考慮底層細節(jié),以下是一個具體的例子

??? 繼承ParallelLoopBody,重載運算符()
class LoopBody : public cv::ParallelLoopBody
{
public:
??? LoopBody (const std::vector<std::string>& filenames)
??????? : m_filenames(filenames)
??? {
??? }

??? virtual void operator()(const cv::Range& r) const
??? {
??????? for (int i = r.start; i != r.end; i++)? //遍歷
??????? {
?? ??? ??? ?std::cout << m_filenames[i] << std::endl;
??????????????? ?
??????????? //load image and to to sth
??????? }
??? }

protected:
??? const std::vector<std::string>& m_filenames;?? ?
};

??? 啟動循環(huán)

?? ??? ?LoopBody body(filenames);
?? ??? ?cv::parallel_for_(cv::Range(0, static_cast<int>(filenames.size())), body); //啟動

??? 控制線成數(shù)目
??? 以前還有一個cv::parallel_for() 函數(shù)(不是以下劃線結(jié)束)是單線程,就相當于for循環(huán),但新版本的opencv里沒有找個函數(shù)了,那么如果利用cv::parallel_for_()實現(xiàn)單線成的for循環(huán)?答案是把線程數(shù)設(shè)置成1

cv::setNumThreads(1);


原文鏈接:https://blog.csdn.net/z0n1l2/article/details/86567139

總結(jié)

以上是生活随笔為你收集整理的cv::parallel_for_ 的一个例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。