当前位置: 首页 > wzjs >正文

景安怎么把网站做别名深圳建设厅官方网站

景安怎么把网站做别名,深圳建设厅官方网站,温州网站,rails 开发的网站开发接下来进入到程序线程设计部分 我们主线程负责图形渲染等操作,OpenGL的限制,opencv技术对传入图像加以处理,输出预期图像给主线程 QThread 我之前也是在想给opencv开一个专门的线程,但经过了解有几个弊端,第一资源浪…

接下来进入到程序线程设计部分

我们主线程负责图形渲染等操作,OpenGL的限制,opencv技术对传入图像加以处理,输出预期图像给主线程

QThread

我之前也是在想给opencv开一个专门的线程,但经过了解有几个弊端,第一资源浪费,县城遗址占用问题,分线程并不是一致工作。第二,需要手动管理线程生命周期,频繁的创建和释放影响性能。

实现试例

// 1. 继承 QThread 并重写 run()
class WorkerThread : public QThread {Q_OBJECT
protected:void run() override {while (!isInterruptionRequested()) {// OpenCV 处理逻辑cv::Mat frame = processFrame();emit resultReady(frame); // 通过信号传递结果}}
signals:void resultReady(cv::Mat frame);
};// 2. 在主线程中启动
WorkerThread *thread = new WorkerThread;
connect(thread, &WorkerThread::resultReady, this, &MainWindow::updateGL);
thread->start();// 3. 安全停止线程
thread->requestInterruption();
thread->quit();
thread->wait();

QThreadPool+QRannable线程池技术

线程池通过设置可复用线程,有任务就调度空闲线程运行,实现了线程的复用,线程数可根据计算机的核的数量选择

QT封装了线程池,提供了一个全局的线程池函数

globalInstance()

要用的时候把对象或者函数指针丢进去。

// 定义任务类
class ImageTask : public QRunnable {
public:ImageTask(cv::Mat input, QString method) : m_input(input), m_method(method) {// 任务完成后自动删除(默认不启用)setAutoDelete(true); }void run() override {cv::Mat result = processImage(m_input, m_method);// 发送结果到主线程(通过信号槽或 invokeMethod)QMetaObject::invokeMethod(m_receiver, "updateDisplay", Qt::QueuedConnection, Q_ARG(cv::Mat, result));}private:cv::Mat m_input;QString m_method;QObject *m_receiver; // 接收结果的对象(如主窗口)
};// 提交任务到线程池
cv::Mat inputImage = ...;
QString method = "Grayscale";
ImageTask *task = new ImageTask(inputImage, method);
QThreadPool::globalInstance()->start(task);

再一个就是深拷贝的问题,从主线程把图像深拷贝到分支线程有很多弊端,我考虑优化一下逻辑,比如opencv对图像进行一些识别操作的时候会先把他转换程一个灰度图,再高斯模糊canny边缘检测等等,一些可复用的图像可不可以在主程序存下来,要用的时候通过移动语义将所有权直接传到分支线程处理,避免了一些频繁深度拷贝的问题,这是我的一些思路,有在这方面有见解的大佬可以指点一二。

方案适用性场景匹配度
QThread适合持续运行的任务(如实时视频流处理),线程生命周期长,需手动管理启停低(任务离散触发)
线程池适合短暂、离散的任务(如点击按钮触发单次处理),自动复用线程,减少开销

核心流程

主线程(UI线程):
1. 用户点击按钮 → 提交处理任务到线程池
2. 等待处理结果 → 接收结果并更新OpenGL显示线程池(工作线程):
1. 接收待处理图像和参数(如高斯模糊、灰度化)
2. OpenCV处理 → 返回结果图像

 

http://www.dtcms.com/wzjs/780860.html

相关文章:

  • c++怎么做网站江苏省招投标办法建设厅网站
  • 网站是用php还是asp 怎么区别ftp服务器搭建设置网站信息
  • 济南软件优化网站网站建设兼职平台
  • 南宁手机平台网站如何把国外的网站在国内做镜像
  • 品牌公关活动策划wordpress优化搜索
  • 天晴创艺网站建设百度小程序中国国际贸易网官网平台
  • 农特产品如何做网站青州建网站
  • 网站备案 自己的服务器wordpress 获取js路径
  • 浙江省住建和城乡建设厅官方网站wordpress高仿主题下载
  • 网站里的内容都是什么作用门户网站建设公司教程
  • 襄樊市网站建设权威的企业网站建设
  • 做养生网站需要资质吗官方网站下载抖音
  • 企业网站建设综合实训心得国内十个免费自学网站
  • 网站建设企业宣传册怎么免费制作企业网站
  • 旅游区网站建设中国it外包公司排名
  • 淄博哪有培训做网站的有限公司与有限责任公司的区别
  • 个性化网站建设开发网站四对联广告代码
  • 做网站链接坪地网站建设好么
  • 网站备案注销原因wordpress网店模板
  • 个人网站免费制作平台dw网页版
  • 手机设计企业网站用户体验设计师证书
  • go语言网站开发教程个人怎么在百度上做推广
  • 上海做建材上什么网站好做网站的公司利润率是多少
  • 苏宿工业园区网站建设成功案例重庆信息发布平台
  • 百度竞价的定义谷歌优化培训
  • 官方网站免费制作网站建设运行
  • wordpress cpanel管理后台长沙网站包年优化
  • 小程序做跳转微网站网络营销师培训课程
  • 外贸长尾关键词挖掘网站网站内容页优化
  • 网站建设需求分析报告功能域名注册管理机构