自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 文件锁单开进程

flock.c#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h> #include <stdlib.h>#define _FILE_NAME_ "/home/itheima/temp.lock"int main(){ int fd=open(_FILE_NAME_

2021-02-28 22:33:44 110

原创 信号量

信号量是加强版的互斥锁,允许多个线程访问共享资源int sem_init(sem_t *sem,int pshared,unsigned int value);sem 定义的信号量,传出pshared 0代表线程信号量,非0代表进程信号量value 定义信号量的个数摧毁信号量int sem_destroy(sem_t *sem);申请信号量int sem_wait(sem_t *sem); 当信号量为0时阻塞释放信号量int sem_post(sem_t *sem);sem_produ

2021-02-28 15:42:51 131

原创 生产者和消费者模型

条件变量:可以引起阻塞,并非锁,要和互斥量组合使用超时等待int pthread_cond_timedwait(pthread_cond_t *restrict cond,pthread_mutex_t *restrict mutex,const struct timespec *restrict abstime);struct timesec{time_t tv_sec; //秒,绝对时间,填写的时候time(NULL)+600设置超时600slong tv_nsec; //纳秒}条件变量阻

2021-02-28 14:34:01 82

原创 读写锁

读写锁的特点:读共享,写独占,写的优先级高读写锁仍然是一把锁,有不同的状态:未加锁,读锁,写锁线程A加写锁成功,线程B请求读锁(线程B阻塞)线程A持有读锁,线程B请求写锁(线程B阻塞)线程A持有读锁,线程B请求读锁线程A持有读锁,线程B请求写锁,线程C请求读锁(BC阻塞,A释放后B加锁,B释放后C加锁)线程A持有写锁,线程B请求读锁,线程C请求写锁(BC阻塞,A释放后C加锁,C释放后B加锁)读写锁使用场景:适合读的线程多初始化读写锁int pthread_rwlock_init(pthre

2021-02-28 00:13:39 244

原创 互斥量

两个线程访问同一块共享资源,如果不协调顺序,容易造成数据混乱加锁mutexpthread_mutex_init 初始化pthread_mutex_destroy 摧毁pthread_mutex_lock 加锁pthread_mutex_unlock(pthread_mutex_t *mutex) 解锁互斥量的使用步骤:初始化、加锁、执行逻辑–共享操作数据、解锁注意事项:加锁需要最小粒度,不要一直占用临界区尝试加锁pthread_mutex_trylock(pthread_mutex_t

2021-02-28 00:12:41 120

原创 乐视三合一体感摄像头Astra pro开发记录2(Qt界面)

本文是在上一篇文章乐视三合一体感摄像头Astra pro开发记录1(深度图、彩色图及点云简单显示)的基础上写的。在开学之前终于把界面的基础功能做完了,估计还有一些bug,也没时间继续调了。界面的主要功能还是Astra pro相机的彩色图、深度图以及点云显示。在之前的基础上,完善了一些比如图像和点云的保存、读取,相机的打开、关闭以及参数设置等功能。由于只是追求基本功能的实现,整个项目文件代码量算上注释也就一千行左右。依赖的第三方库有OpenCV(图像处理)、OpenNI(深度图)、PCL(点云处理)和VTK

2021-02-27 10:35:44 1721 3

原创 线程同步

线程访问同一个共享资源,需要协调步骤线程同步:协调步骤,顺序执行解决同步问题:加锁数据混乱的原因:1.资源共享(独占资源则不会)2.调度随机(意味着数据访问会出现竞争)3.线程间缺乏必要的同步机制只能解决第三点pthread_print.c#include <stdio.h>#include <string.h>#include <unistd.h>#include <stdlib.h>int sum=0;void* thr1(

2021-02-25 21:52:54 100

原创 线程属性设置分离

pthread_var.c#include <stdio.h>#include <string.h>#include <unistd.h>#include <pthread.h>int var=100;void* thr(void *arg){ printf("I am a thread! self=%lu,var=%d\n",pthread_self(),var);//var=1003 sleep(2); var=1

2021-02-25 20:38:31 309

原创 线程分离

线程分离int pthread_detach(pthread_t thread);此时不需要pthread_join回收资源pthread_detach.c#include <stdio.h>#include <string.h>#include <unistd.h>#include <pthread.h>void* thr(void *arg){ printf("I am a thread! pid=%d,tid=%lu\n",g

2021-02-25 19:46:02 69

原创 杀死进程

pthread_cancel需要出入tid返回值:失败返回errno,成功返回0被pthread_cancel杀死的进程状态,退出状态为PTHREAD_CANCELED强行设置取消点pthread_testcancel()pthread_cancel.c#include <stdio.h>#include <unistd.h>#include <pthread.h>void* thr(void *arg){ while(1){

2021-02-25 19:45:22 151

原创 线程的回收

线程回收函数 -阻塞等待回收int pthread_join(pthread_t thread,void **retval)thread 创建时传出的第一个参数retval 代表传出线程的退出信息pthread_rtn.c#include <stdio.h>#include <unistd.h>#include <pthread.h>void* thr(void *arg){ printf("I am a thread! pid=%d,tid=

2021-02-23 22:34:20 359

原创 线程的退出

线程退出函数pthread_exit线程退出注意事项:在线程中使用pthread_exit在线程中使用return(主控线程return代表退出进程)exit代表退出整个进程pthread_exit.c#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <stdlib.h>void* thr(void *arg){ printf("I am a t

2021-02-23 22:33:41 189

原创 线程的创建

创建一个线程int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);thread 线程的id,传出参数attr 代表线程的属性void *(*start_routine)(void *) 函数指针,void func(void)arg线程执行函数的参数返回值:成功返回0,失败返回errno编译的时候要加pthread库pthread_c

2021-02-23 22:32:48 129 1

原创 线程的概念

线程的概念:轻量级的进程,一个进程内部可以有多个线程,默认一个进程只有一个线程线程是最小的执行单位,进程是最小的系统资源分配单位内核实现都是通过clone函数实现的线程也有自己的PCB获得错误码对应的错误信息char *strerror(int errnum);线程的优点:提高并发性,占用资源少,通信方便线程的缺点:调试困难,库函数不稳定,对信号支持不好...

2021-02-23 22:31:48 132 1

原创 守护进程

守护进程会话:进程组的更高一级,多个进程组对应一个会话进程组:多个进程在同一个组,第一个进程默认是进程组的组长创建会话的时候,组长不可以创建,必须由组员创建创建会话的步骤:创建子进程,父进程终止,子进程成为会长守护进程的步骤:创建子进程fork父进程退出子进程当会长setsid,切换工作目录$HOMR设置掩码umask关闭文件描述符0,1,2(为了避免浪费资源)执行核心逻辑退出创建一个守护进程,每分钟在$HOME/log/下创建一个文件:程序名.时间戳daemon.c#inc

2021-02-23 15:48:14 102

原创 SIGCHLD回收子进程

SIGCHLD信号处理子进程在暂停或提出时发送SIGCHLD信号,可以通过捕捉该信号来回收子进程child_catch.c#include <stdio.h>#include <unistd.h>#include <sys/wait.h>#include <signal.h>void catch_sig(int num){ pid_t wpid=waitpid(-1,NULL,WNOHANG); if(wpid>0){

2021-02-22 22:31:46 197

原创 sigaction

信号捕捉防止进程意外死亡typedef void(*sighandler_t)(int);sighandler_t signal(int signum,sighander_t handler);signum要捕捉的信号handler要执行的捕捉函数指针,函数应该声明void func(int);注册捕捉函数int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);signum 捕捉的信号ac

2021-02-22 14:15:57 138

原创 信号集函数

信号集处理函数清空信号集int sigempty(sigset_t *set);填充信号集int sigfillset(sigset_t *set);添加某个信号到信号集int sigaddset(sigset_t *set,int signum);从集合中删除某个信号int sigdelset(sigset_t *set,int signum);判断信号是否为集合中的成员int sigismember(const sigset_t *set,int signum);设置阻塞或者解除阻

2021-02-22 13:19:25 112

原创 setitimer

setitimer周期性发送信号int setitimer(int which,const struct itimerval *new_value,struct itimerval *old_value);whichITIMER_REAL 自然定时发SIGALRMITIMER_VIRTUAL 计算进程执行时间 SIGVTALRMITIMER_PROF 进程执行时间+调度时间 ITIMER_VIRTUALnew_value 要设置的闹钟时间old_value 原闹钟时间struct itime

2021-02-21 21:56:51 184

原创 alarm发送信号

时钟信号alarm 定时给自己发送SIGALRMunsigned int alarm(unsigned int seconds);seconds 几秒后发送信号返回值,上次闹钟剩余的秒数特别的,如果传入参数为0,代表取消闹钟alarm.c#include <stdio.h>#include <unistd.h>int main(int argc,char * argv[]){ int ret=0; ret=alarm(6); printf

2021-02-21 15:43:19 264

原创 raise和abort

raise给自己发送信号int raise(int sig);raise.c#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <signal.h>#include <stdlib.h>int main(int argc,char * argv[]){ printf("I will die\n"); sleep(2); /

2021-02-21 15:31:39 118

原创 信号的产生

系统api产生信号kill函数int kill(pid_t pid,int sig);pid大于0,代表要发送的进程IDpid=0,代表当前调用进程组内所有进程pid=-1,代表有权限发送的所有进程pid小于0,代表-pid对应组内所有进程sig 对应的信号killfather.c#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h&gt

2021-02-21 15:30:33 133

原创 信号

信号的概念信号的特点:简单,不能带大量信息,满足特定条件发生信号的机制:进程B发送给进程A,内核产生信号,内核处理信号的产生:按键产生 ctrl+c ctrl+z ctrl+调用函数 kill raise abort定时器 alarm setitimer命令产生 kill硬件异常 段错误,浮点型错误,总线错误,SIGPIPE信号的状态:产生 递达(信号到达并且处理完) 未决(信号被阻塞)信号的默认处理方式:忽略 执行默认动作 捕获 (9和19号信号不能捕捉,不能忽略,甚至不能阻塞 )信

2021-02-21 15:29:34 80

原创 ICP算法手写实现(C++和python)

采用C++实现ICP(Iterative Closest Point,迭代最近点)算法,借助了PCL库实现点云基本变换、KD-tree以及可视化部分,核心迭代部分没有调用PCL的api。代码在KD-tree搜索部分采用了openmp加速优化,在适当的数据集下运行速度能超过PCL自带的ICP算法配准api。ICP算法的原理和推导,网上有很多,在此不赘述。下面链接是我觉得讲的比较详细的,可以参考:三维点云配准 – ICP 算法原理及推导ICP算法公式推导和PCL源码解析另外,本文的代码实现过程还参考了:

2021-02-20 22:34:07 12485 47

原创 mmap通信

mmap共享映射区void *mmap(void *addr,size_t length,int prot,int flags,int fd,off_t offset);addr 传NULLlength 长度prot PROT_READ可读 PROT_WRITE可写flags MAP_SHARED共享的,修改内存会影响原文件 MAP_PRIVATE私有的fd 文件描述符,open打开一个文件offset 偏移量返回值:成功返回可用的内存首地址,失败返回MAP_FAILED释放映射区int

2021-02-20 21:19:02 270

原创 fifo通信

FIFO有名管道,实现无血缘关系进程通信创建一个管道的伪文件mkfifo myfifo 命令也可以用函数int mkfifo(const char *pathname,mode_t mode);内核会针对fifo文件开辟一个缓冲区,操作fifo文件,可以操作缓冲区,实现进程通信–实际上是文件读写open注意事项,打开fifo文件时,read端会阻塞等待write端打开,write端也会阻塞等待read打开man 7 fifo 查看fifo信息fifo_w.c#include <stdi

2021-02-19 23:06:34 508

原创 管道通信

常见的通信方式:单工(广播),半双工(对讲机),全双工(电话)管道:半双工通信管道函数:int pipe(int pipefd[2]);pipefd读写文件描述符,0代表读,1代表写返回值:失败返回-1,成功返回0pipe.c#include<stdio.h>#include<unistd.h>#include<sys/types.h>#include<sys/wait.h>int main(int argc,char *argv[])

2021-02-19 20:42:30 176

原创 IPC通信

IPC(Inter Process Communication)进程间通信,通过内核提供的缓冲区进行数据交换的机制。IPC通信的方式:pipe 管道–最简单fifo 有名管道mmap 文件映射IO–速度最快本地socket 最稳定信号 携带信息量最小共享内存消息队列...

2021-02-19 15:34:05 110

原创 乐视三合一体感摄像头Astra pro开发记录1(深度图、彩色图及点云简单显示)

闲鱼上淘的乐视三合一体感摄像头,九十几块,买来玩玩。网上已经有一些关于此款摄像头的开发资料。官方的开发资料:添加链接描述按官方网站以及其他帖子,下载并安装相机的驱动和SDK,不难配置好相机。win系统下开发python代码打开深度摄像头和彩色摄像头from openni import openni2import numpy as npimport cv2def mousecallback(event,x,y,flags,param): if event==cv2.EVENT

2021-02-19 15:10:21 9800 12

原创 wait函数和waitpid函数

子进程回收回收子进程,知道子进程的死亡原因作用:阻塞等待,回收子进程资源,查看死亡原因pid_t wait(int *status);status状态返回值:成功返回终止的子进程ID,失败返回-1子进程的死亡原因:正常死亡WIFEXITED 如果WIFEXITED为真,使用WEXITSTATUS得到退出状态非正常死亡WIFSIGNALED 如果WIFSIGNALED为真,使用WTERMSIG 得到信号wait.c#include<stdio.h>#include<un

2021-02-18 21:35:33 363

原创 孤儿进程与僵尸进程

孤儿进程:父进程死了,子进程被init进程领养僵尸进程:子进程死了,父进程没有回收子进程的资源(PCB)如何回收僵尸进程:杀死父亲,由init进程领养,无法回收orphan.c#include<stdio.h>#include<unistd.h>int main(){ pid_t pid=fork(); if(pid==0){ while(1){ printf("I am child,pid=%d,ppid

2021-02-18 12:41:09 68

原创 exec函数

exec族函数执行其他程序int execl(const char path,const char arg,…/(char)NULL*/);执行程序的时候,使用PATH环境变量,执行的程序可以不用加路径int execlp(const char file,const char arg,…/(char)NULL*/);file要执行的程序arg参数列表,最后需要一个NULL作为结尾返回值:只有失败才返回execl.c#include<stdio.h>#include<un

2021-02-16 20:19:32 120

原创 父子进程

进程共享父子进程相同处:全局变量、.data、.text、栈、堆、环境变量、用户ID、宿主目录、进程工作目录、信号处理方式父子进程不同之处:进程ID、fork返回值、父进程ID,进程运行时间、定时器、未决槽信号父子进程间遵循读时共享写时复制的原则,节省内存开销父子进程不共享全局变量shared.c#include<stdio.h>#include<unistd.h>int var=100;int main(int argc,char *argv[]){

2021-02-16 16:36:10 531

原创 创建n个进程

nfork.c 创建5个子进程#include<stdio.h>#include<unistd.h>#include<stdlib.h>int main(){ int n=5; int i=0; for(i=0;i<5;i++){ pid=fork(); if(pid==0){ //son printf("I am child,pid=%d,ppi

2021-02-16 13:49:05 251

原创 进程控制

创建一个新的进程pip_t fork(void);返回值:失败返回-1;成功有两次返回,父进程返回子进程的id,子进程返回0获得pid,进程id,获得当前进程pip_d getpid(void);获得当前进程父进程的idpip_d getppid(void);fork.c#include<stdio.h>#include<unistd.h>#include<stdlib.h>int main(){ printf("Begin ....\n

2021-02-15 20:57:03 93 1

原创 获取环境变量

环境变量:env写法:key=val获取环境变量:char *getenv(const char *name);getenv.c#include<stdio.h>#include<stdlib.h>int main(){ printf("homepath is [%s]\n",getenv("HOME")); return 0;}配置环境变量.bashrcexport key=cal...

2021-02-15 17:27:20 155

原创 进程的概念

什么是程序?编译好的二进制文件。什么是进程?运行着的程序。程序员的角度:运行一系列指令的过程操作系统角度:分配系统资源的基本单位区别:程序占用磁盘,不占用系统资源内存占用系统资源一个程序对应多个进程,一个进程对应一个程序程序没有生命周期,进程有生命周期进程的状态:就绪 运行 挂起 终止MMU作用:虚拟内存和物理内存的映射修改内存访问级别用户空间映射到物理内存是独立的...

2021-02-15 17:26:34 232

原创 dup2和dup

dup2重定向int dup2(int oldfd,int newfd);关闭newfd对应的文件描述符,将newfd重新指向为oldfd对应的文件dup复制文件描述符int dup(int oldfd);新返回一个文件描述符指向oldfd对应的文件实现:在代码中执行两次printf(“hello world\n”);一次输出到hello文件,一次输出到屏幕涉及到文件重定向dupdu.c#include<stdio.h>#include<unistd.h>#i

2021-02-14 22:36:35 121

原创 读目录相关函数

统计指定目录下普通文件的个数,要求递归子目录$find ./ -type f |wc -l打开目录DIR *opendir(const char name);name打开的目录返回值 返回DIR的指针,指向目录项的信息读目录struct dirent *readdir(DIR *dirp);dirp传入参数,opendir返回的指针返回值:NULL代表读到末尾或者有错误读到目录项的内容关闭目录int closedir(DIR *dirp)dirp opendir得到的DIR指针

2021-02-14 22:25:49 175

原创 mkdir

创建目录int mkdir(const char *pathname,mode_t mode);pathname路径mode mode & ~umask & 0777 注意权限,如果目录没有可执行权限不可进入mkdir.c#include<stdio.h>#include<sys/type.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>int

2021-02-14 22:24:53 106

两百行C++代码实现yolov5车辆计数部署

两百行C++代码实现yolov5车辆计数部署(通俗易懂版) 对应文章https://blog.csdn.net/taifyang/article/details/128264192?spm=1001.2014.3001.5502

2024-06-10

pyqt界面 计算树木las点云的树高、胸径、地径和冠幅面积

pyqt界面 计算树木las点云的树高、胸径、地径和冠幅面积 包含注释详细源代码和las点云数据,以及使用说明 # python >= 3.8 # Installtion: pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # Usage: python main.py

2024-06-01

点云裁剪界面qt+pcl+vtk

点云裁剪界面 环境:qt5.14.2+vs2019+pcl1.12.1+vtk9.1 功能:用鼠标画任意多边形对区域的点云进行裁剪,并可以保存裁剪后的点云;裁剪中途错了可以重新加载点云;支持裁剪区域内部或者外部的点云;对点云按坐标值按不同颜色渲染;可视化单个或者多个点云。 有相关问题可以在评论区留言或者私信我,正常48小时内必定回复。

2024-05-27

深度相机和彩色相机对齐

对应博文https://blog.csdn.net/taifyang/article/details/131030025

2024-01-15

人体点云数据及分割标注

人体点云数据及其分割标注(分为头、手臂、肚子以及腿四个部分)txt格式。

2024-01-15

yolov5n模型权重

yolov5n模型权重(torchscript,onnx,openvino,tensorrt)

2023-11-26

pointnet模型权重

pointnet不同模型权重(torchscript,onnx,openvino,tensorrt)

2023-11-26

深度相机和彩色相机对齐(d2c).rar

对应文章https://blog.csdn.net/taifyang/article/details/131030025

2023-11-11

自动驾驶环境感知网课视频

第1章 :环境感知介绍 第2章 :2D感知算法 第3章 :3D感知算法 第4章:激光雷达物体检测 第5章:激光雷达语义分割 第6章:毫米波雷达感知算法:传统方法 第7章 毫米波雷达感知算法:深度学习方法

2023-11-11

ICP算法的几种不同实现

包括SVD分解、GN求解、四元数求解以及BA求解实现的点到点ICP算法 以及用线性变换近似代替非线性变换求解实现的点到面ICP算法 C++代码和参考资料(文献/网页)

2023-11-05

yolov5+SORT多目标跟踪

sort+yolov5算法复现(python和c++版本),以及该算法于此开发的带有静止过滤的多目标跟踪匹配demo,包含源代码、模型文件和测试数据集。 对应文章:https://blog.csdn.net/taifyang/article/details/130667967?spm=1001.2014.3001.5502

2023-08-24

机械臀位姿估计与抓取网课视频

1. 视觉引导系列课程—绪论 2. 手眼标定方法 — 原理与实战(上篇) 3. 手眼标定方法 — 原理与实战(下篇) 4. 基于深度学习的物体抓取位置估计 5. 基于几何信息指导的单目6D物体姿态直接回归算法

2023-08-17

三维点云网课视频(七套)

1-深度学习-3D点云实战系列 2-PointNet++三维点云处理精讲(PyTorch版):论文复现+代码详解 3-点云处理基础与深度学习 4-深蓝-三维点云课程 5-深蓝-三维点云第四期 6-工fan-三维点云处理-算法与实战 7-3D感知技术

2023-08-17

yolov5目标检测多线程Qt界面

对应文章https://blog.csdn.net/taifyang/article/details/132220062?spm=1001.2014.3001.5502

2023-08-12

yolov5目标检测多线程C++部署

对应文章:https://blog.csdn.net/taifyang/article/details/132198777?spm=1001.2014.3001.5502

2023-08-12

《从零搭建一套结构光3D重建系统》网课视频

《从零搭建一套结构光3D重建系统》网课视频 1-1_课程简介.mp4 1-2_第01章:结构光前奏:双目立体匹配算法.mp4 1-3_公开课1_相移法+多频外差之数学原理推导+实现[学完再看].mp4 1-4_公开课2_结构光之相移法+格雷码技术详解[学完再看].mp4 1-5_结构光硬件系统[可选].mp4 1-6_第02章:单目标定理论+实践:计算内参,去除畸变.mp4 1-7_第03章:双目标定理论+实践:确定相机相互位置.mp4 1-8_第04章:双目立体匹配算法理论+OpenCV实践.mp4 1-9_第O5章:主动标记区域:相移法+多频外差.mp4 1-10_第06章:主动标记区域:相移法+格雷码.mp4 1-11_第07章:双目重建实践:三角法.mp4 1-12_第08章:单目重建实践:逆相机法.mp4 1-13_第09章:单目重建实践:相高法.mp4 1-14_第10章:投影仪的非线性校正.mp4 1-15_第11章:结构光+深度学习.mp4 1-16_补充1:工业相机理论.mp4 1-17_补充2:灰点相机SDK调用.mp4 1-18_课程大作业.mp4

2023-08-06

《机械臂抓取从入门到实战》课程视频及配套资料

《机械臂抓取从入门到实战》课程视频及配套资料 1.1 机械臂抓取应用场景及行业发展 1.2 机械臂抓取主流方案 1.3 3D相机硬件测距原理介绍 1.4 ROS开发环境介绍 1.5 开发环境搭建 2.1 创建ROS工作空间及功能包 2.2 自定义消息数据 2.3 机器人URDF模型及建模 2.4 Moveit!机械臂建模及Rviz 2.5 Gazebo机械臂仿真 3.1 刚体的姿态 3.2 机械臂的DH参数 3.4 6轴机械臂逆向运动学求解 3.5 机械臂运动轨迹生成 4.1 相机几何模型 4.2 相机内参标定 4.3 九点标定 4.4 手眼标定 4.5 手眼标定精度再提高 5.1 平面抓取网络 5.2 制作自己的平面抓取数据集 5.3 训练平面抓取网络 5.4 平面抓取网络仿真 6.1 机械臂上位机控制演示 6.2 基于ROS的手眼标定 6.3 实物抓取演示 6.4 ROS机械臂抓取代码详解 6.5 机械臂抓取流程总结

2023-08-06

《3d视觉缺陷检测》网课视频

《3d视觉缺陷检测》网课视频

2023-07-09

Qt+PCL+VTK开发的点云标注工具

Qt+PCL+VTK开发的点云标注工具demo,本工具实现了打开点云、关闭点云,新建点云3d boundingbox(初始化为点云的AABB包围盒)并调整包围盒的位置、大小,以及保存标注、删除标注的功能。资源内容包括源码和打包好在win10上可以直接运行的可执行文件。

2023-07-05

《图像分割实战》课程视频教程

1_图像分割及其损失函数概述 2_卷积神经网络原理与参数解读 3_Unet系列算法讲解 4_unet医学细胞分割实战 5_U2NET显著性检测实战 6_deeplab系列算法 7_基于deeplabV3+版本进行VOC分割实战 8_医学心脏视频数据集分割建模实战 9_物体检测框架-MaskRcnn项目介绍与配置 10_MaskRcnn网络框架源码详解 11_基于MASK-RCNN框架训练自己的数据与任务

2023-06-30

《GPU并行计算与CUDA编程》课程视频和代码

《GPU并行计算与CUDA编程》课程视频和代码

2023-06-18

yolov8量化部署(基于openvino和tensorrt)

包括C++和python的所有源代码、模型文件、推理用的图片和视频资源文件。 对应文章https://blog.csdn.net/taifyang/article/details/131158445。

2023-06-11

深度相机和彩色相机对齐(d2c)

见https://blog.csdn.net/taifyang/article/details/131030025

2023-06-06

texture mapping纹理贴图

三维重建纹理贴图,已知ply网格模型、摄像机拍摄的图片以及对应的内外参数,可生成obj带mtl纹理的模型文件。基于pcl或者openmvs。

2023-05-06

深度学习之PyTorch物体检测实战

深度学习之PyTorch物体检测实战

2023-05-05

线结构光平面方程自动标定

见https://blog.csdn.net/taifyang/article/details/122639344

2023-05-01

人体点云数据及其分割标注

人体点云数据及其分割标注(分为头、手臂、肚子以及腿四个部分)txt格式

2023-04-23

Qt开发的labelimg-yolo

Qt开发的labelimg,可以保存yolo格式标注 对应博文https://blog.csdn.net/taifyang/article/details/128695643

2023-03-27

openMVG+openMVS可直接运行

openMVG+openMVS可直接windows运行的可执行文件,自己以前编译出来的。 点击bat文件即可运行。

2023-03-24

yolov5-v7.0网络分类、检测和分割OpenCV C++部署demo

yolov5-v7.0网络分类、检测和分割OpenCV C++部署demo 对应https://blog.csdn.net/taifyang/article/details/128894598?spm=1001.2014.3001.5502

2023-03-24

基于GPU加速的计算机视觉编程

基于GPU加速的计算机视觉编程和配套代码

2023-01-08

运动机构法标定.rar

对应文章https://blog.csdn.net/taifyang/article/details/115558492

2022-12-04

pointnet-qt

读研的时候自己无聊写的小demo。 基于qt平台pointnet算法开发的点云分类和分割功能的桌面小应用,点击exe可以直接运行。 classes文件夹下是类别文件,clouds文件夹下为点云文件(txt或者pcd格式),models下面是模型文件,source下面有源代码。

2022-12-04

中心线提取-GPU加速

对应文章https://blog.csdn.net/taifyang/article/details/128089699

2022-11-29

VS2019+CUDA11.1 Release x64编译的OpenCV4.5.5(带CUDA和contrib模块)

VS2019+CUDA11.1 Release x64编译的OpenCV4.5.5(带CUDA和contrib模块)

2022-11-26

ICP算法加速优化-多线程和GPU

ICP算法加速优化--多线程和GPU 已成功编译配置: Windows10下环境配置:cmake3.23.3+VS2019+CUDA11.1+PCL1.12.1 Ubuntu20.04(WSL)下环境配置:基于docker镜像cuda11.1-gcc,cmake3.16.3+PCL1.10.0

2022-11-25

opencv+qt人脸检测demo

人脸检测demo 包括源代码和release编译好的可执行程序(已打包完成,可直接运行)。 开发环境:win10+qt5.9.1-msvc2015 x64+opencv4.5.4 可以从图片、视频、网络摄像头实时检测人脸。 需要加入新的人脸检测时,要在face_db文件夹下放一张该人的人脸截图,即可识别该人。 face_db数据库中不存在的人脸能识别出来,但会显示为unknown。

2022-11-20

《Linux/UNIX网络编程》-甘刚.rar

《Linux/UNIX网络编程》-甘刚 源代码以及程序注释 网上没找到资源,代码都是自己边学边手敲的。。。在linux虚拟机上调通并修改过一些错误了。

2021-05-04

Linux高性能服务器编程

《Linux高性能服务器编程》和配套代码

2021-05-01

在摄像头获得视频中动态选取ROI

使用qt+opencv实现在视频流中用鼠标动态选取矩形框ROI,以及ROI的移动和缩放和删除。

2021-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除