如何在 Linux C++ 中设置多线程的优先级
在 Linux C++ 中,设置多线程的优先级是一个非常重要的问题。线程的优先级可以影响线程的运行顺序和资源分配。如果线程的优先级设置不当,可能会导致线程的运行不稳定,甚至导致整个应用程序的崩溃。因此,Linux C++ 中设置多线程的优先级需要谨慎处理。下面就是如何在 Linux C++ 中设置多线程的优先级。
1. 获取线程的 ID
在 Linux C++ 中,每个线程都有一个唯一的 ID。要设置线程的优先级,必须先获取线程的 ID。可以使用 pthread_self() 函数获取当前线程的 ID。如果要获取其他线程的 ID,则需要使用 pthread_getthreadid_np() 函数。
2. 创建线程属性对象
在设置线程的优先级之前,必须先创建线程属性对象,该对象包含了很多线程的属性信息,如优先级、栈大小等。可以使用 pthread_attr_init() 函数初始化线程属性对象。
3. 设置线程的优先级
设置线程的优先级可以使用 pthread_attr_setschedpolicy() 函数设置线程的调度策略。常见的调度策略有 SCHED_FIFO、SCHED_RR 和 SCHED_OTHER。其中,SCHED_FIFO 和 SCHED_RR 是实时调度策略,SCHED_OTHER 是非实时调度策略。实时调度策略比非实时调度策略更加优先,可以确保线程按照指定的优先级执行。
4. 获取当前线程调度相关的信息
可以使用 pthread_attr_getschedparam() 函数来获取当前线程调度相关的信息,包括线程优先级,线程在 CPU 上的运行时间等。
5. 最后
要注意的是,在设置多线程的优先级时,应该遵循一定的规则。例如,不应该将线程的优先级设置得过高,避免抢占其他线程的资源。同时,还应该合理设置线程的调度策略、栈大小、内存限制等。只有合理设置多线程的优先级,才能保证线程的稳定运行,并且提高应用程序的效率。
总之,在 Linux C++ 中设置多线程的优先级是一项非常重要的任务。如果能够合理设置线程优先级,并在开发过程中遵循一定的规则,就能够有效地避免线程运行不稳定的情况,并提高应用程序的性能。
-
C++多线程读写同一变量C++
-
C++多线程并发任务编程:实现高效率多任务并发处理C++多线程并发任务编程是为了实现高效率的多任务并发处理。利用多线程可以提高CPU的利用率,加快程序的执行速度,为应对大规模数据处理、并行计算、高并发访问等场景提供了有效的解决方案。
-
C++线程同步的几种方法简介随着多核处理器的普及,线程编程已经成为越来越普遍的任务。但是,线程编程存在一个问题,就是如何正确地同步多个线程。因为多个线程之间的执行是并发的,因此在共享资源的情况下,线程间的执行顺序不可避免地会相互影响。为了避免线程之间的竞争和冲突,C+
-
如何在C++多线程中传递参数?在C++多线程中,传递参数是一个常见的需求。传递参数可以用于向线程传递数据或者控制线程的行为。本文将介绍在C++多线程中传递参数的几种方法。
-
如何解决C++多线程加锁无效问题?C++多线程编程中,锁是一种常用的同步机制,用来保护共享资源。但在实际应用中,有时会发现加锁并没有起到预期的作用,导致竞争条件和数据不一致等问题。本文将介绍一些解决C++多线程加锁无效问题的方法。
-
Linux C++多进程编程Linux
-
C++多线程中如何共享变量在使用C++进行多线程编程时,如何共享变量是一个非常重要的问题。由于每个线程都具有自己的执行环境和调用栈,因此在多线程编程中,变量不能像单线程编程中那样直接使用。若所有的线程都直接访问变量,那么可能会出现在同一时刻多个线程同时进行写操作导致
-
C++多线程中,如何访问static变量?C++是一门广泛使用的编程语言,支持多线程编程。而在多线程编程中,如何访问static变量是一个非常重要的问题。
-
《C++多线程开发》书籍《C++多线程开发》是一本介绍C++多线程开发技术的实用书籍。随着计算机硬件技术的不断提升,利用多线程优化程序已经变得越来越普遍。C++是一门极其强大的编程语言,拥有广泛的应用场景,因此学习C++多线程开发将会非常有利于计算机科学爱好者们的
-
"C++多线程操作数据库的实现"随着计算机技术的不断进步,多线程技术的应用变得越来越普遍,而C++作为一门强大的编程语言,提供了多线程编程的支持。同时,数据库操作也是一项非常重要的技术,当多线程与数据库操作相结合时,可以发挥更强大的作用。本文将介绍如何使用C++多线程操作
-
C++中线程join的用法C++是一种广泛使用的编程语言,它允许程序员使用线程来同时执行多个任务。线程是计算机程序中一个较小的执行单元,它可以独立执行一些特定的指令,从而提高程序的效率和速度。但在C++中,如果不控制线程的结束时间,可能会导致程序的死锁或崩溃。为了解
-
C++多线程Thread优先级详解C++是一种强大的编程语言,具有多线程编程的优势。具体来说,C++中可以使用Thread类来创建多个线程,每个线程可以执行不同的任务。在Thread类中,有一个优先级概念,它决定了线程执行的顺序。在本文中,我们将详细讨论C++多线程Thre
-
Dev C++中多行printf无法正常输出的解决方法Dev
-
如何安全地在C++中进行多线程修改操作?C++是一种多线程支持的语言,它允许多个线程同时运行。多线程编程可以加速程序的执行速度,同时也可以让程序变得更加复杂和容易出错。在多线程编程中,最重要的问题之一就是如何在不破坏程序正确性和安全性的前提下进行多线程修改操作。接下来我们将介绍如
-
深入理解C++多线程编程思想C++是一种流行的编程语言,具有高效性、灵活性和可扩展性等优点。随着计算机技术的不断发展,多线程编程已经成为一种越来越重要的编程思想,C++语言也支持多线程编程。
-
C++实现多线程并发读写整型变量在使用C++进行多线程编程时,实现并发读写整型变量需要特别注意。本文将介绍如何使用C++实现多线程并发读写整型变量的方法。
-
C++多线程实现累加在C++中,多线程是一种非常常见的编程方式,而累加是一项经常需要进行的操作。在多线程编程中实现累加,我们可以利用线程之间的并行运算,提高程序效率,加快运算速度。在本文中,我们将介绍如何使用C++多线程实现累加。
-
C++多线程调用Lua:实现高效并发编程C++作为一门高效的编程语言,被广泛应用于各种领域。而随着多核处理器的普及,高效的并发编程成为了越来越重要的需求。本文将介绍C++多线程调用Lua的实现,从而实现高效的并发编程。
-
Linux C++多线程编程Linux
-
C++ 多线程中 String 导致 Core Dump 错误C++是一种强大的编程语言,使用多线程可以提高程序的运行效率。然而,在使用C++多线程编程时,可能会出现一些错误,如Core
-
推荐C++多线程编程书籍近年来,随着计算机性能不断提升,多线程编程正在成为越来越受欢迎的技术。C++是一门强大的编程语言,它的多线程支持也很出色,因此,有很多优秀的C++多线程编程书籍值得推荐。
-
C++ 多线程调用同一个 DLLC++
-
C++多线程并发实践的指南在C++程序中,多线程并发的技术被广泛应用于提高程序的处理性能。然而,正确使用多线程并发技术并不是一件容易的事情,需要程序员有深入的理解和实践。
-
C++多线程通信实现C++是一种广泛使用的计算机程序设计语言。它是面向对象的程序设计语言,被广泛运用于多种应用领域,包括操作系统、游戏引擎、桌面软件等。
-
C++多线程指的是什么?C++多线程是指在C++编程语言中使用多个线程同时执行不同的任务。多线程可以大大提高程序的并发效率,使程序在运行过程中更加流畅,同时也有助于解决某些复杂的问题。
-
如何查看C++线程的状态C++
-
C++多线程锁的作用及应用场景C++是一种高效、可靠、通用性强的编程语言,它拥有丰富的库和强大的多线程支持。在C++多线程编程中,锁是一种非常重要的概念,它可以帮助我们控制并发访问共享数据,保证线程安全。那么C++中的锁具体是什么,有什么作用?在哪些场景下应用?
-
C++多线程优化:提高代码性能和效率随着计算机技术的不断发展,现代计算机已经拥有了多核心的CPU,这对于开发多线程代码来说是一大福利。虽然多线程的应用已经比较普及,但如何优化多线程程序仍然是程序员们所关心的一个重要话题。
-
C++多线程访问全局变量问题探讨C++是一门十分强大的编程语言,它支持多线程编程。但是在多线程编程中,使用全局变量却很容易出现问题。本文将探讨在C++中多线程访问全局变量的问题。
-
Dev C++ 多文件组织:让程序结构更清晰易懂!在编写程序时,良好的程序结构是非常重要的。一个好的程序结构不仅可以让程序更易于维护和扩展,还可以防止一些潜在的问题,如重复代码或命名冲突等。而在使用Dev
-
C++多线程调用DLL库的示例C++作为一种广泛应用的编程语言,已经成为了众多开发者的首选之一。在C++编程过程中,经常需要在多线程环境中使用动态链接库(DLL)库来完成一些任务。本篇文章将给大家介绍一些示例代码,展示如何在C++中多线程调用DLL库。
-
《C++多线程编程指南》C++多线程编程指南是针对C++程序员编写的一本指南,它主要介绍了如何理解和使用多线程编程的方法。本书涵盖了多线程编程的基础知识、线程和锁的概念、多线程应用程序的优化和调试技术等方面的内容。
-
Node.js 中的 C++ 多线程技术Node.js
-
C++多线程服务器的实现与应用在当前互联网时代,面向大并发访问的多线程服务器成为了应用开发不可或缺的一部分。C++多线程服务器具有高效稳定、灵活性强、代码简洁等优点,因此在应用开发中得到了广泛的应用。本文将介绍C++多线程服务器的实现与应用。
-
C++多线程打印ABC多线程编程是当前程序设计中的热点话题,它可以让程序在多个线程中同时执行,并发执行,以提高程序执行效率。今天我们来讲一下C++多线程打印ABC的实现方法。
-
C++中的Vector类C++中的Vector类是一种动态数组,可存储任何数据类型。它工作的方式类似于数组,但是它具有更多的功能。Vector类具有自动内存管理功能,可以动态增加或删除大小,同时还具有与数组相同的快速访问速度。下面就介绍一下C++中的Vector类
-
C++ Vector 去重复:实现高效无重复元素的容器管理C++
-
C++向量清空操作C++向量是一个动态数组,它允许我们在运行时添加或删除元素。当我们需要清空向量时,有两种方法可以实现:
-
Dev C++ 界面变黑Dev
-
C++实现最长公共子串算法最长公共子串(Longest
-
人工智能是否需要学习C++?人工智能领域是当今发展最快的技术领域之一,它的基础是数学和计算机科学。对于人工智能工程师来说,掌握一门编程语言是非常必要的。那么问题来了,人工智能是否需要学习C++?
-
C++和C语言哪个更实用
-
C语言与C++的本质差异
-
学习C++ 基础的C语言是必须的吗
-
C++与C语言一样吗
-
Java和C++:究竟有多大的差别?
-
为什么现在仍然需要学习C语言而拥有C++呢
-
学完c语言后 学c++还是java快
-
C语言和C++有哪些本质区别
-
C语言、C++和Java的不同之处
-
如何破解ffmpeg进行中文转码FFmpeg是一个强大的开源音视频处理工具,它提供了丰富的功能和选项。然而,对于大多数用户来说,使用FFmpeg进行中文转码可能会遇到一些困难。那么,我们该如何破解FFmpeg进行中文转码呢?
-
Java快排算法复杂度分析快速排序是一种常用的排序算法,也是Java中常用的排序算法之一。它的时间复杂度为O(nlogn),空间复杂度为O(logn)。
-
使用FFMPEG剪切MP3文件在音频处理领域,FFMPEG是一个功能强大且广泛使用的开源工具。它可以处理各种音频和视频格式,并提供了许多功能,如剪切、合并、调整音量等。
-
使用Go语言和FFmpeg实现视频中添加文字和图片在现代社交媒体的时代,视频已经成为了人们分享生活、记录瞬间的重要方式之一。而对于制作视频来说,添加文字和图片元素可以起到丰富内容、增强表达能力的作用。那么,如何使用Go语言和FFmpeg来实现视频中添加文字和图片呢?
-
使用FFmpeg启动RTMPFFmpeg是一个跨平台的多媒体处理工具,它可以对音频和视频进行编码、解码、转码和流媒体处理等操作。其中,RTMP(Real-Time
-
OpenCV安装完毕后,如何使用?OpenCV是一种开源的计算机视觉和图像处理库,它提供了大量的函数和工具,可以帮助开发人员进行图像处理、计算机视觉和机器学习任务。在安装OpenCV之后,我们可以开始学习如何使用它。
-
OpenCV 图像匹配算法:从理论到实践OpenCV(开源计算机视觉库)是一个广泛使用的图像处理库,提供了许多功能和算法,其中包括图像匹配算法。图像匹配是指通过计算机自动寻找和匹配两幅或多幅图像中的相似区域或特征点。这种算法在各种领域都有广泛的应用,例如目标跟踪、图像识别和图像配
-
使用OpenCV和YOLO算法进行物体检测物体检测是计算机视觉领域的一个重要任务,它可以识别并定位图像或视频中的不同物体。随着深度学习的发展,YOLO(You
-
使用 OpenCV 自动将人物图像转换为卡通风格在现代社交媒体平台上,人们常常喜欢将自己的照片转换为卡通风格的图像,以增加趣味性和独特性。这种趋势的兴起也催生了许多应用程序和在线工具,用于将普通的照片转换为卡通风格。而使用
-
使用OpenCV提高图像分辨率在现代社会中,图像处理一直是一个重要的研究方向。人们希望通过一些算法和技术来提高图像的质量,使其变得更加清晰和细腻。而OpenCV作为一个功能强大的开源计算机视觉库,提供了丰富的工具和函数来实现图像分析和处理。其中,提高图像分辨率是一个常见
-
Python OpenCV模板匹配与小波变换Python是一种流行的编程语言,用于图像处理和计算机视觉领域。而OpenCV是一个强大的开源计算机视觉库,可以在Python中使用。在图像处理过程中,模板匹配和小波变换是两个重要的技术。
-
PyCharm配置OpenCV和PyQt5教程PyCharm是一款功能强大的
-
使用FFmpeg命令行进行视频范围设置FFmpeg是一个非常强大的多媒体处理工具,它可以在命令行下执行各种音视频处理任务。在视频处理中,我们常常需要对视频的范围进行设置,以满足不同需求。接下来,我们将介绍如何使用FFmpeg命令行进行视频范围设置。
-
使用OpenCV求图像梯度图像梯度是计算图像上每个像素点处的变化率的一种方法。它在许多计算机视觉任务中都扮演着重要的角色,比如边缘检测、图像增强和目标跟踪等。OpenCV是一个广泛使用的计算机视觉库,它提供了许多用于处理和分析图像的函数和工具。在本文中,我们将介绍如
-
使用FFmpeg录制系统音频FFmpeg是一款非常强大的音视频处理工具,它不仅可以用来转码、剪辑、合并音视频文件,还可以录制系统的音频。本文将介绍如何使用FFmpeg录制系统音频。
-
OpenCV 图像翻转函数:实现图像镜像、旋转和翻转操作OpenCV是一个开源的计算机视觉库,广泛应用于图像处理和计算机视觉领域。在这个库中,有一个非常有用的函数,可以实现图像的翻转,包括镜像、旋转和翻转操作。
-
使用简体中文,以下是一个标题:「FFmpeg人脸识别:快速有效地识别图像和视频中的人脸在现代社会中,人脸识别技术正逐渐变得越来越普遍。随着技术的不断进步,越来越多的应用领域开始使用这一技术。其中,FFmpeg人脸识别是一种快速有效地识别图像和视频中的人脸的方法。
-
C语言动态调用函数实现方法和示例说明C语言是一种高级编程语言,其特点之一就是灵活和可扩展性强。在C语言中,动态调用函数是一种非常重要的技术,可以实现各种复杂的功能。本文将介绍C语言中动态调用函数的实现方法和示例说明。
-
OpenCV数组转Mat: 实现图像数据的转换与处理OpenCV是一个开源的计算机视觉库,可以用来处理图像和视频。它是由Intel开发并在BSD许可下发布的。其中一个重要的功能是从数组转换为Mat对象,以实现图像数据的转换和处理。
-
OpenCV GPUmat:加速图像处理的神器OpenCV是一个开源的计算机视觉库,被广泛应用于图像处理和机器视觉领域。然而,随着图像和视频数据的不断增加,对于实时处理和高效算法的需求也变得越来越迫切。为了应对这一挑战,开发人员引入了GPUmat,这是OpenCV的一个重要补充,旨在利
-
Java实现的stressen矩阵乘法算法矩阵乘法是计算机科学中的一个经典问题,广泛应用于各个领域。在矩阵乘法中,通常需要计算两个矩阵的乘积,结果是一个新的矩阵。然而,由于矩阵乘法的运算复杂度较高,特别是在大规模的矩阵计算中,需要充分利用计算机的性能,提高计算速度。
-
OpenCV的CV_8U数据类型解析OpenCV是一个功能强大的开源计算机视觉库,提供了许多用于图像和视频处理的功能。在OpenCV中,图像的数据类型是非常重要的,而CV_8U是其中之一。
-
使用C++编写C语言的方法C++是一种广泛使用的编程语言,它是C语言的一个超集,也就是说C++可以兼容C语言,并且拓展了更多的功能和特性。在某些情况下,我们可能需要使用C++编写C语言的代码,这种情况可能出现在需要使用C++特性的同时又需要与已有的C代码进行兼容的情
-
FFmpeg实现RTSP视频录像倍速播放技术FFmpeg是一个开源的音视频处理库,广泛应用于众多领域,其中之一就是实现RTSP(实时流传输协议)视频录像倍速播放技术。RTSP是一种基于TCP/IP协议的实时流传输协议,常用于实现网络摄像头和监控系统的视频传输。
-
OpenCV如何调整图像尺寸OpenCV是一个广泛用于图像处理和计算机视觉应用的开源库。它提供了各种功能,包括图像尺寸的调整。调整图像尺寸可以在许多应用中起到重要作用,如图像缩放、目标检测和图像识别。
-
FFmpeg 5.0 Delphi:提升音视频处理功能的强大工具在音视频处理领域,FFmpeg是一个非常受欢迎的开源框架,它提供了一套强大的功能,可以对音频和视频进行编解码、转码、剪辑等操作。而在Delphi编程语言中,开发人员现在可以使用FFmpeg
-
使用OpenCV C++库读取一张图片OpenCV是一个开源的计算机视觉库,提供了各种功能和算法,可以用于图像和视频处理。这个库支持多种编程语言,包括C++、Python、Java等。
-
使用FFmpeg实现FLV格式的RTMP流媒体传输FFmpeg是一种开源的多媒体框架,可用于处理音视频流。它支持多种音视频编解码器,并且可以实现各种格式的转换和编辑。在本文中,我们将讨论如何使用FFmpeg实现FLV格式的RTMP流媒体传输。
-
如何选择适合的数学库:除了大型的opencv,还有哪些可供选择的数学库?在当今科技发展的时代,数学库在各个领域发挥着至关重要的作用。不仅仅是大型的opencv在数学库中拥有一席之地,还有许多其他适合各种需求的数学库可供选择。
-
用什么方式可以运行OpenCV?OpenCV是一个开源的计算机视觉库,可用于图像和视频处理,以及机器学习任务。它提供了丰富的图像处理工具和算法,使开发人员能够轻松地处理和分析图像数据。那么,我们可以通过哪些方式来运行OpenCV呢?
-
使用OpenCV库进行本地摄像头调用OpenCV是一个强大而广泛使用的计算机视觉库,它提供了许多功能来处理图像和视频。其中一个重要的功能是通过本地摄像头进行实时图像捕获和处理。本文将介绍如何使用OpenCV库来调用本地摄像头并对图像进行处理。
-
使用OpenCV可以在哪些领域应用?OpenCV(开源计算机视觉库)是一个广泛使用的计算机视觉库,可以在许多领域进行应用。它提供了各种各样的图像处理和计算机视觉算法,使开发者能够快速处理图像和视频数据。
-
OpenCV图像平移与旋转技巧OpenCV是一个广泛使用的开源计算机视觉库,能够提供丰富的图像处理与分析功能。其中,图像平移和旋转是其中的两个重要技巧,可以帮助我们在处理图像时更灵活、更准确地操作。
-
使用OpenCV进行图像像素操作OpenCV(开源计算机视觉库)是一种广泛使用的图像处理库,它提供了各种强大的功能,用于处理图像和视频数据。其中一个重要的功能是对图像的像素进行操作,也就是修改或获取图像中的每个像素的值。
-
使用OpenCV实现物体追踪和定位OpenCV是一个广泛使用的开源计算机视觉库,提供了各种功能,包括图像处理、目标检测和跟踪等。在本文中,我们将介绍如何使用OpenCV实现物体追踪和定位。
-
OpenCV 和 Qt 的配置指南OpenCV(Open
-
用OpenCV和Python实现人脸关键点检测人脸关键点检测是计算机视觉领域中的一个重要任务,它被广泛应用于人脸识别、表情分析、姿态估计等应用中。在本文中,将介绍如何使用OpenCV和Python实现人脸关键点检测的方法。
-
使用JavaCV和FFmpeg循环读取图片并推流JavaCV是一个在Java平台上使用OpenCV和其他计算机视觉库的开源项目。它提供了一套Java接口,可以用于实时图像处理和计算机视觉任务。而FFmpeg则是一个流行的开源多媒体框架,可以用于处理音频和视频。
-
开源的类似ffmpeg的多媒体处理库近年来,随着多媒体技术的发展,越来越多的应用程序需要对音频和视频进行处理。而在这个领域,开源的类似ffmpeg的多媒体处理库扮演着重要的角色。
-
使用OpenCV进行图像颜色分割:简单而强大的图像处理技术OpenCV是一种广泛使用的开源计算机视觉库,提供了许多功能强大的图像处理技术。其中之一是图像颜色分割。图像颜色分割指的是将一幅图像中的不同颜色区域分割为单独的部分。这种技术在许多领域中都有广泛的应用,比如目标检测、医学图像处理等。
-
使用 FFmpeg 进行麦克风采集FFmpeg
-
【简体中文】:《C/C++常用算法手册》百度云分享在计算机编程领域中,C和C++是两种被广泛应用的编程语言。作为高级程序设计语言,C和C++的应用领域涉及到各个行业和领域,因此,掌握C和C++的常用算法,对于程序员来说是至关重要的。
-
Opencv人脸相似度识别技术分析与应用Opencv是一种广泛应用于计算机视觉领域的开源库,它为开发人员提供了一些强大的工具和算法,可以处理图像和视频数据。其中一个非常有趣和实用的应用就是人脸相似度识别技术。
-
使用OpenCV调用相机实现拍照在计算机视觉领域,OpenCV是一个非常流行的开源库,用于处理图像和视频。它提供了许多功能,包括读取和处理图像、图像的特征提取和匹配、物体检测和跟踪等。其中,使用OpenCV调用相机实现拍照是一个非常常见的需求。
-
OpenCV中imread函数返回空值问题解析OpenCV是一个强大的计算机视觉库,提供了许多图像处理和计算机视觉相关的功能。在使用OpenCV时,经常会用到imread函数来读取图像文件。然而,有时候我们发现imread函数返回的是一个空值,这个问题常常让人感到困惑。本文将对这个问题
-
C语言Android应用程序开发Android操作系统在智能手机和平板电脑市场上占据着重要地位,开发者们纷纷投身于Android应用程序开发。而在这个领域中,C语言也扮演着重要的角色。本文将介绍C语言在Android应用程序开发中的应用以及相关的开发工具和资源。
-
OpenCV形状匹配:实现图像形状的精确匹配和识别OpenCV是一个非常流行的计算机视觉库,可以用于各种图像处理任务。其中之一是形状匹配,也是一项非常重要的任务。形状匹配可以用于检测和识别图像中的特定形状,从而实现对象的识别和跟踪。
-
使用OpenCV进行图片识别的游戏挂机技巧在现代的游戏中,玩家往往需要花费大量的时间和精力来完成各种任务和挑战。然而,对于一些重复性任务,玩家可能会感到厌倦并想要寻找一种方法来自动化这些过程。幸运的是,利用计算机视觉技术中的OpenCV库,玩家可以使用图片识别来帮助他们在游戏中挂机
-
Android FFmpeg库介绍及使用指南Android
-
OpenCV函数库详解OpenCV是一个非常有名的开源计算机视觉库,广泛应用于图像和视频处理领域。它包含多个模块和函数,提供了丰富的功能和算法,可以帮助开发者实现图像处理、特征提取、目标识别等任务。本文将详细介绍一些常用的OpenCV函数。
评论区