一、原理 GrabCut是graph cut的改进版,是迭代的graph cut。该算法利用了图像中的纹理(颜色)信息边界(反差)信息,只要小量的用户交互操作即可得到比较好的分割效果。 在整个过程发什么了什么呢? 1、用户输入一个矩形。矩形外的所有区域肯定是背景。矩形框内的东西是未知的。同样用户确定前景背景的任何操作都不会被程序改变。 2、计算机会对我们的输入图像做
转载 2024-05-11 13:02:02
121阅读
说明:read:直接获取下一帧数据编码后的图像。grab+retriebe:动2个线程分别生成两个图像(retrieve可以通过参数指定通道号),那
原创 2022-09-23 13:47:30
1017阅读
前言最近刚出的opencv4.4.0也支持了yolov4,便尝试用opencv调用yolov4进行检测,做个记录。当然,yolov3、yolov4-tiny等也能调用,只需修改加载的cfgweight文件就行。如果想使用GPU加速的话,需要安装opencv的GPU版,可以参考:ubuntu下安装opencv,并配置DNN模块使用CUDA加速下载1、yolov4权重地址:百度网盘 提取码:2zfk
转载 2024-03-07 15:53:49
130阅读
send、recv、sendtorecvfrom函数解析send、recvsendto、recvfrom,一般情况下,send、recv在TCP协议下使用,sendto、recvfrom在UDP协议下使用,也可以在TCP协议下使用,不过用的很少。1、send 这里只描述同步socket的send函数的执行流程。s:套接字 | buf:存储发送数据 | len:发送数据长度当调用该函数时,sen
概述自己尝试安装配置YOLO3,实际上在GitHub上有详细的所有步骤,见darknet README 这里只是为了自己方便参考,所以把安装配置的过程记录在此。1 安装或下载安装需要的软件包由于自己也是第一次实际操作使用这些软件,所以这里记录下每个工具的意义。 YOLO3有CPUGPU版本,如果只是使用CPU版本,具备以下前两个就可以了(实际上OpenCV也是个可选项),如果使用GPU版本,
转载 2024-08-20 10:35:02
86阅读
1 扩展库简介OpenCV(Open Source Computer Vision Library)是一个致力于实时处理计算机视觉问题的开源库。它最初由Intel公司开发,以GPL许可协议发布,后来由Willow Garage基金会负责开发维护,以BSD许可协议发布,至今已有超过250万的用户。其用途非常广泛,涵盖从图像处理,计算机视觉
转载 1月前
414阅读
OpenCV2 OpenCV3的区别: 内容上,opencv2自带众多著名特征检测算子(如SIFT,SURF,ORB算子等),而opencv3则将这些移除,转移到一个第三方库opencv_contrib当中,另外部分宏定义上是有区别的,其他函数方面是没有区别的。在搭建过程方面,opencv2需要一一填写众多的链接,而opencv3则只需要添加一个opencv_world310(原理这里有提)。
1. 编译第一个opencv程序,出现了如下的错误。1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _wmain 中被引用 1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _wmain 中被引用 1>open
一,前言本人是机械专业在读硕士,在完成暑假实践的时候接触到了人脸识别,对这一实现很感兴趣,所以花了大概十天时间做出了自己的人脸识别。这篇文章应该是很详细的了所以帮你实现人脸识别应该没什么问题。先说本博文的最终要达到的效果:通过一系列操作,在摄像头的视频流中识别特定人的人脸,并且予以标记。本人通过网上资料的查询发现这类人脸识别,大多参考了一位日本程序员小哥的文章。链接:https://github.
转载 2024-05-20 06:45:42
152阅读
read就是通过read来实现的,fread是C语言的库,而read是系统调用。 差别在read每次读的数据是调用者要求的大小,比如调用者要求读取10个字节数据,read就会从内核缓冲区(操作系统开辟的一段空间用来存储磁盘上的数据)读10个字节数据到数组中,所以每次调用read会涉及到用户态与內核态之间的切换从而损耗一定的性能。而fread不一样,为了加快读的速度,fread每次都会从内核缓冲区读
转载 2024-02-17 11:14:07
48阅读
# Java写入与读取的区别 在Java中,文件的写入读取是日常开发中非常常见的操作。为了帮助你理解这些操作,我们会逐步讲解整个过程,并提供必要的代码示例。 ## 流程与步骤 我们将整个过程分为以下几个步骤: | 步骤 | 描述 | |------|------| | 1 | 创建一个文件 | | 2 | 写入数据到文件 | | 3 | 读取文件中的数据 | | 4
原创 2024-09-04 04:59:40
124阅读
1.waitnotify的使用当我们在编写多线程的代码的时候,经常会考虑到多线程对共享资源的竞争问题。其中扮演着重要角色的就是Objcet的方法:wait、wait(long waitTime)、notify、notifyAll。开始学习多线程的时候,一直以为是当前线程调用这几个方法,结果老是报IllegalMonitorStateException异常,后查阅资料后发现是没有加锁的问题导致的,
转载 5月前
14阅读
一共两个文件夹,opencvopencv2两个文件件。 opencv包含着旧版的头文件。 opencv2包含着具有时代意义的新版的Opencv2系列的头文件。 opencv这个文件夹包含各种头文件。这里面大概是opencv1.0最核心的,而且是保留下来的内容的头文件,可以把它看成整体理解为一个组件。 opencv2下opencv_modules.hp文件,存放的是opencv2中的新模块构造相关
转载 2024-04-26 22:08:38
88阅读
Created by Jerry Wang on Jul 04
原创 2021-07-15 10:15:22
1104阅读
我的上一个教程记录了在ubuntu18.04下载配置vscodeopencv环境,默认电脑的opencv环境已经安装;1.接下来将安装QT5.9.21.1 如果无所谓安装哪个qt版本(会自动安装当前时间点,最新的qt版本),可以命令行安装:sudo apt-get update sudo apt-get install qt5-default qtcreator1.2 若想安装特定版本QT例如
转载 10月前
128阅读
1        OpenCV简介  计算机视觉是让计算机周围的环境交换信息,并进行一定的处理。在人眼看来,物体有两种状态:静止运动;同样,计算机识别出来的格式有图形视频两种。无论是对于静止的图像,还是运动的视频,OpenCV都提供了一系列实用且高效简单的函数。那么什么是OpenCV呢?OpenCV是Open S
OTDOA1. 画图观察参考小区:黑点其他小区:绿点终端位置:红点无误差模型双曲线:蓝线测量粒度导致的误差:橘黄 2. 度量粒度导致的误差即小区能准确测量TA,但是TA的刻度就是16ts(对应单程距离4.88*16),所以就出现由度量刻度导致的误差。上图中橘黄色曲线交点。  3. 测量波动导致的误差即小区测量的TA值会有波动,由测量波动导
有些人在读取服务器端返回的数据的时候,使用了BufferedReader类的ready: 1 while(reader.ready()) { 2 //执行读取操作,即readLine 3 }   这个方法很经常被用到, 但是返回的却都是空,这是什么原因呢,查看了一下帮助文档,以及上网查了查,总结如下:  1. ready是查看流是否已经准备好被读,是一个非阻塞的方法,所以会立刻返回,
转载 2024-04-20 17:50:01
118阅读
Created by Jerry Wang on Jul 04, 2014使用下面的report测试这两种语法的区别:REPORT ztest_key.TYPES: BEGIN OF ty_data, index TYPE int4, name TYPE char10, score TYPE int4, text TYPE str
原创 2022-04-21 15:11:39
876阅读
# OpenCVPyTorch的区别 ## 导言 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,主要用于图像视频处理。而PyTorch是一个开源的机器学习框架,主要用于深度学习任务。虽然两者都涉及到图像处理计算机视觉,但在实现方式应用领域上有一些不同之处。本文将介绍OpencvPyTorch的区别及使用方法。 ##
原创 2023-08-03 10:49:46
789阅读
  • 1
  • 2
  • 3
  • 4
  • 5