首页
学习
活动
专区
圈层
工具
发布

OpenCV 4.5.2 刚刚发布!优化NMS,新增LeakyReLU等特性

https://www.oschina.net/news/136060/opencv-4-5-2-released OpenCV 是 Intel 开源计算机视觉库,它实现了图像处理和计算机视觉方面的很多通用算法...G-API 模块: 支持 Python: 引入了一个新的 Python 后端 —— 现在 G-API 可以运行用 Python 编写的自定义内核,作为管道的一部分; 扩展了 G-API Python 绑定中的推理支持...在流媒体模式中引入了多流媒体输入支持和帧同步策略,以支持立体声等情况; 增加了 Y 和 UV 操作,以在图形级别访问 cv::GFrame 的 NV12 数据; 如果媒体格式不同,转换是即时完成的; 操作和内核...: 增加了新操作的性能测试(MorphologyEx、BoundingRect、FitLine、FindContours、KMeans、Kalman、BackgroundSubtractor); 修正了...更多详情可查看:https://github.com/opencv/opencv/wiki/ChangeLog#version452 CVPR和Transformer资料下载 后台回复:CVPR2021

1.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    OpenCV 4.5.2 发布

    模块: Python支持 引入新的Python后端:G-API可以运行Python的任意kernels作为pipeline的一部分 扩展G-API Python绑定的推理支持 G-API Python绑定增加更多的图数据类型支持...操作以访问图级别cv::GFrame的NV12数据;若媒体格式不同,转换是同时的 运算符和核 增加新操作(MorphologyEx, BoundingRect, FitLine, FindLine, FindContours...):腾讯微信QR码识别模块 (opencv_contrib):实现cv::cuda::inRange() (opencv_contrib):增加Edge Drawing Library中的算法 (opencv_contrib...):Viz模块增加Python绑定 更多详细信息请参考: https://github.com/opencv/opencv/wiki/ChangeLog#version452 本文仅做学术分享,如有侵权...与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:学习3D视觉核心技术,扫描查看介绍

    1.4K10

    OpenCV4.5.4更新了!OpenCV5.0还远吗?

    视觉/图像重磅干货,第一时间送达 导读 OpenCV4.5.4昨天早晨更新了,本文将简单介绍此版本更新内容,供大家参考了解。...布局的输出的支持 GRU , CumSum , Max , Min , ExpandDims 具有非对称填充的固定卷积 固定 Unsqueeze (ONNX opset 13) 修复了 OpenCL 内核中的几个内存访问问题...#20813 英特尔® 推理引擎后端 ( OpenVINO™ ): 添加了对 OpenVINO 2021.4.1 LTS 版本的支持 添加了对具有非 FP32 输出的模型或具有 1D 布局的输出的支持 G-API...模块: 待定 以及许多其他贡献: 将基于 DNN 的人脸检测和人脸识别添加到modules/objdetect 中:#20422 恢复 LineSegmentDetector (LSD) 实现 Python...:cv.Mat引入了 numpy.ndarray 包装器来处理将 3D 数组传递给 C++ 算法的问题:#19091 Python:支持带有纯 Python 模块的 OpenCV 扩展:#20611 调试

    1.4K10

    一文看懂OpenCV 4.0 所有新特性

    请注意,通过将-DENABLE_CXX11 = ON标志传递给CMake,OpenCV 3.x也可以构建为C ++ 11库。 现在这已经变成必选项,因此不需要ON标志。...加了全新的opencv_gapi模块。 它是非常有效的图像处理的引擎,基于处理图的lazy评估和动态构造(因此名称为Graph API或G-API)。...有关详细信息,请参见Graph API(G-API) ? 性能优化 OpenCV中的几百个基本内核已经使用“广泛通用内在函数(intrinsics)”进行了重写。...通过OpenCV 4.0 gold,我们计划将更多内核转换为此类内在函数,并采用我们的动态调度机制,因此在x64平台上,AVX2优化内核始终内置,如果实际硬件支持此类指令,则可以在运行中进行选择(无需更改...QR 检测器和解码器已经与现有的sample一起添加到opencv/objdetect模块中。目前,解码器构建在QUirc库之上(我们将这个snapshot放入opencv) ?

    6.9K50

    OpenCV5 2024年3~5月更新内容一览

    这些改进将显着提高性能并扩展 OpenCV 在各种应用中的功能。...OpenCL GEMM 内核测试:我们已经完成了 OpenCL GEMM 内核的测试,确保其在矩阵乘法任务(许多计算机视觉算法中的关键操作)中的可靠性和性能。...G-API 的持续工作:我们在 G-API 上的努力仍在继续,努力增强其功能和性能。 新推理引擎的进步:我们正在新推理引擎方面取得进展,重点是改进 ONNX 解析器以与 OpenCV 无缝集成。...OpenCV Numpy 集成:与 OpenCV Numpy 的集成正在进行中,为用户提供增强的数据操作和分析功能。...参考链接: https://opencv.org/blog/opencv-5-progress-weekly-update/ https://opencv.org/blog/opencv-5-progress-update-apr

    91010

    使用 Python 和 OpenCV 构建 SET 求解器

    查找卡片轮廓 接下来,我使用 OpenCV 的 findContours() 和 approxPolyDP() 方法来定位卡片。...cropped_card = refactored_card[15:435, 15:435] return cropped_card 仿射变换叠加在原始图像上以展示标准化的角度和方向 然后我们将每个重构的卡片图像及其坐标作为参数传递给...该邻域的大小和形状(或“内核”)可以作为输入传递给 OpenCV(默认为 3x3 方阵)。...评估 SET 为了检查已识别卡片中的集合,将卡片对象数组传递给 SetEvaluator 类。 方法一:所有可能的组合 至少有两种方法可以评估卡的数组表示形式是否为有效集。...这是使用 cv2.imshow() 的操作结果: 就是这样——一个使用 Python 和 OpenCV 的 SET 求解器!这个项目很好地介绍了 OpenCV 和计算机视觉基础知识。

    1.8K60

    基于OpenCV的条形码区域分割

    本期,我们将一起学习如何从图像中提取出含有条形码的区域。下面的代码,我们将在Anaconda中采用Python 2.7 完成,当然OpenCV中的图像处理库也是必不可少的。...在应用blackhat时,我们使用的内核会更加重视垂直图像元素。内核具有固定的大小,因此可以缩放图像,这也可以提高性能(并支持某种输入归一化)。...这没有关系,大家可以尝试改变参数和运算符的组合,直到对结果满意为止。 膨胀+闭运算 最后的预处理步骤是应用具有很大内核的开运算符,以删除太少而无法适合条形码形状的元素。...最终结果,条形码以绿色框突出显示。 结论 • 提出的技术非常简单有效,但存在一些令人讨厌的缺点: • 它对条形码偏斜非常敏感;它可以很好地工作到大约45度,然后您必须执行第二遍,修改内核的方向。...一个很好的解决方案是将条形码特征(图像梯度,傅立叶变换)输入给神经网络(或一些其他一些分类器),并在第二时刻过滤掉噪声。 下面给出完整的示例代码。

    1.1K20

    基于OpenCV修复表格缺失的轮廓--如何识别和修复表格识别中的虚线

    某些图标的处理结果可能只是有轻微的瑕疵,甚至只是一些小孔,但是无法将其识别为连贯的系统。有时在创建在单元格时,表的某些侧面可能也没有线的存在。...的findContours算法获取所有轮廓的位置。...这是通过创建阈值并应用形态运算的内核来完成的。水平内核的大小为(50,1)。大家可以根据图像的大小来调整大小。垂直内核的大小为(1,50)。形态学操作根据检测到的结构的几何形状进行转换。...然后使用OpenCV的bitwise_or操作将水平和垂直两个蒙版合并到一张表中。要检索原始的前后前景,可通过从255中减去cv2.bitwise_or来反转图像。...这就是结果。该方法可用于表中的虚线,间隙和孔的多种类型。结果是进一步进行表格识别的基础,对于包含文本的表,仍然有必要将包含表的原始图像与数据与具有修复孔的最终图像合并。

    6.4K10

    基于OpenCV的条形码区域分割

    本期,我们将一起学习如何从图像中提取出含有条形码的区域。下面的代码,我们将在Anaconda中采用Python 2.7 完成,当然OpenCV中的图像处理库也是必不可少的。...opencv 现在,让我们从Anaconda启动器启动Spyder IDE。...在应用blackhat时,我们使用的内核会更加重视垂直图像元素。内核具有固定的大小,因此可以缩放图像,这也可以提高性能(并支持某种输入归一化)。...这没有关系,大家可以尝试改变参数和运算符的组合,直到对结果满意为止。 膨胀+闭运算 最后的预处理步骤是应用具有很大内核的开运算符,以删除太少而无法适合条形码形状的元素。...最终结果,条形码以绿色框突出显示。 结论 • 提出的技术非常简单有效,但存在一些令人讨厌的缺点: • 它对条形码偏斜非常敏感;它可以很好地工作到大约45度,然后您必须执行第二遍,修改内核的方向。

    84030

    【从零学习OpenCV 4】分割图像——分水岭法

    OpenCV 4提供了用于实现分水岭法分割图像的watershed()函数,该函数的函数原型在代码清单8-19中给出。...markers:输入/输出CV_32S的单通道图像的标记结果,与原图像具有相同的尺寸。 该函数根据期望标记结果实现图像分水岭分割。...函数第二个参数用于输入期望分割的区域,在将图像传递给函数之前,必须使用大于0的整数索引粗略的勾画图像期望分割的区域。因此,每个标记的区域被表示为具有像素值1、2、3等的一个或多个连通分量。...为了增加分割后不同区域之间的对比度,随机对不同区域进行上色,结果如图8-12所示,同时提取原图像中每个被分割的区域,部分结果在图8-13给出。...代码清单8-20 myWatershed.cpp分水岭法分割图像 #include opencv2\opencv.hpp> #include using namespace std

    1.8K11

    C++ OpenCV轮廓发现

    所以边缘提取的阈值选定会影响最终轮廓发现的结果。 OpenCV中,轮廓是由STL风格的vector模板对象表示的,其中vector中的每个元素都编码了曲线上,下一点的位置信息。...相关API介绍 findContours (发现轮廓) drawContours (绘制轮廓) findContours( InputOutputArray image, // 输入的...int method参数是见识方法,即轮廓如何呈现的方法,有三种可选方法: cv::CHAIN_APPROX_NONE:将轮廓中的所有点的编码转换成点; cv::CHAIN_APPROX_SIMPLE:...int maxLevel = INT_MAX, // 轮廓中的最大下降 Point offset = Point() // (可选) 所有点的偏移 ) 代码演示 新建一个项目opencv...-0023,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法 ?

    2.1K20

    OpenCV 4.5发布!更强的SIFT,OCR,RANSAC算法,新增目标跟踪网络SiamRPN++

    从OpenCV 4.5.0开始,所有未来的OpenCV 4.x和OpenCV 5.x版本都将以Apache 2许可证发布。OpenCV 3.x将继续使用BSD。...所有的项目都是成功的,大多数结果已经合并到OpenCV中,并在4.5.0中可用(在主存储库中或在opencv_contrib中)。...针对RISC-V优化OpenCV (opencv_contrib):OpenCV绑定了Julia编程语言 (opencv_contrib):实现Macbeth Chart detector和AprilTag3...从 4.5 版本开始,OpenCV将正式使用Apache 2 授权协议,对开发者更加友好,避免专利算法进入OpenCV带来的潜在纠纷。 2....OpenCV中的图计算模块G-API,也进行了大量更新。 14. 另外FLANN模块也被改进,新增了机器人手眼校准函数等。 ?

    3.5K20

    OpenCV findContours函数边缘近似方法

    在使用OpenCV的过程中,findcontours是相对使用比较多的,在之前的博客中,介绍了vector > contours容器: http://blog.csdn.net...> #include opencv2/ml/ml.hpp> #include #include #include opencv/cv.h> #include...首先用CV_CHAIN_APPROX_SIMPLE的方法,在for循环中,我们把包围轮廓的点个数作为判断条件,个数大于30个且小于50个是,把这个轮廓在原图中涂成蓝色,而大于50时,涂成绿色,运行结果如下...然后我们将CV_CHAIN_APPROX_SIMPLE方法换成CV_CHAIN_APPROX_NONE方法,在修改下判断条件: if (contours.at(k).size()>30&&contours.at...最后补充一点: findcontours函数将二值化后图像白色区域当作前景,黑色部分当做背景。所以找轮廓找到的是白色区域的轮廓。

    77230

    基于OpenCV修复表格缺失的轮廓--如何识别和修复表格识别中的虚线

    某些图标的处理结果可能只是有轻微的瑕疵,甚至只是一些小孔,但是无法将其识别为连贯的系统。有时在创建在单元格时,表的某些侧面可能也没有线的存在。...的findContours算法获取所有轮廓的位置。...这是通过创建阈值并应用形态运算的内核来完成的。水平内核的大小为(50,1)。大家可以根据图像的大小来调整大小。垂直内核的大小为(1,50)。形态学操作根据检测到的结构的几何形状进行转换。...然后使用OpenCV的bitwise_or操作将水平和垂直两个蒙版合并到一张表中。要检索原始的前后前景,可通过从255中减去cv2.bitwise_or来反转图像。...这就是结果。该方法可用于表中的虚线,间隙和孔的多种类型。结果是进一步进行表格识别的基础,对于包含文本的表,仍然有必要将包含表的原始图像与数据与具有修复孔的最终图像合并。

    5.9K20

    基于OpenCV的车辆变道检测

    大家一定听说过使用OpenCV 的haar级联文件可以检测到面部、眼睛等,但是如果目标是汽车,公共汽车呢? 01. 数据集 我们将道路上汽车的视频文件用作数据集。...腐蚀算子在内核区域上具有局部最小值的作用。腐蚀用于减少图像中的斑点噪声,斑点会从图像中的对象边界腐蚀掉。膨胀具有局部最大值运算符的作用。...通过将帧和掩码之间的按位与运算应用于获取 ROI(感兴趣区域),可以生成结果帧。...边缘检测 诸如canny边缘检测器之类的算法用于查找将图像中的边缘像素,但是由于我们无法融合某些点和边缘,因此它无法找到实际对象,在这里我们可以使用OpenCV中的cv2.findContours()实现轮廓的查找...我们在ROI中多次运行cv2.findContours()以获得实体,然后使用cv2.drawContours()绘制轮廓区域。

    1.6K10
    领券