bqgup

  • 2021-11-06
  • 回复了主题帖: 2021电赛D题基于互联网的摄像测量系统(D题)——双目视频测量系统

    IC爬虫 发表于 2021-11-6 13:35 用这个相机直接躺赢:http://bbs.eeworld.com.cn/thread-1184912-1-1.html
    这是工业级的摄像机吧,成本上面电赛能承受吗

  • 回复了主题帖: 2021电赛D题基于互联网的摄像测量系统(D题)——双目视频测量系统

    本帖最后由 bqgup 于 2021-11-6 13:17 编辑

  • 回复了主题帖: 2021电赛D题基于互联网的摄像测量系统(D题)——双目视频测量系统

    nmg 发表于 2021-11-5 20:57 走出大学的工程师们,是不是也喜欢做做电赛题目
    很喜欢研究讨论,但是即使毕业了感觉也做不出来电赛题

  • 回复了主题帖: 2021电赛D题基于互联网的摄像测量系统(D题)——双目视频测量系统

    nmg 发表于 2021-11-5 20:57 走出大学的工程师们,是不是也喜欢做做电赛题目
    真心感觉这个题目的技术含量高,电赛题目引领学习方向

  • 2021-11-05
  • 回复了主题帖: 2021电赛D题基于互联网的摄像测量系统(D题)——双目视频测量系统

    激光笔周期摆动视频的测量

  • 发表了主题帖: 2021电赛D题基于互联网的摄像测量系统(D题)——双目视频测量系统

    本帖最后由 bqgup 于 2021-11-5 19:39 编辑 一、电赛D题 二、双目视频系统物体运动轨迹   三、算法与控制(双目视差) 其中f为相机的焦距。 希望大神能帮忙分析分析! 现在电赛真是越来越难了,双目测量系统结合单摆运动!!!这个双目测量系统该怎么下手呢???

  • 2021-11-03
  • 回复了主题帖: Linux信号量的使用——代码测试

    leo2002zhang 发表于 2021-10-30 11:17 谢谢分享。简单明了。有个小问题 memcpy(&buf,&recv_buf,sizeof(buf)); memset(&recv_buf,0,si ...
    是的没错

  • 2021-10-28
  • 发表了主题帖: Linux信号量的使用——代码测试

    #Linux信号量的使用——代码测试 ```c #include #include #include #include #include     char recv_buf[100] = {0};        //缓存用的数组 char buf[100]= {0};                        //使用的数组 sem_t sem; void func1(void) {         while(1)         {                 if(scanf("%s",recv_buf) == 1)                 {                         printf("coming func1\n");                         memcpy(&buf,&recv_buf,sizeof(buf));                         memset(&recv_buf,0,sizeof(buf));                         sem_post(&sem);                 }         }         pthread_exit(NULL); } void func2(void) {         while(1)         {                 sem_wait(&sem);                 printf("coming func2\n");                 printf("%s\n",buf);         }         pthread_exit(NULL); } int main(void) {         int ret=-1;         pthread_t th,th1;                //线程         sem_init(&sem,0,0);                //信号量初始化         ret=pthread_create(&th,NULL,(void *)func1,NULL);         if (ret != 0)         {                 printf("pthread_create1 error.\n");                 return -1;         }                                     ret=pthread_create(&th1,NULL,(void *)func2,NULL);         if (ret != 0)         {                 printf("pthread_create2 error.\n");                 return -1;         }                    printf("sem test\n");                 while(1)         {                 sleep(1);         }         return 0; } ``` 编译指令如下: ```c gcc 111.c -lpthread ``` 运行结果如下: 结果符合预期设计。

  • 2021-10-22
  • 发表了主题帖: linux中C语言在U盘中新建文件夹并存储文件

    #linux中C语言在U盘中新建文件夹并存储文件 ##一、存储路径方案 ```c #include int main(void) {         char file[30] = {'\0'};                                                                                        //文件名称         char filefolder_path[30] = {'\0'};                                                                //文件夹的路径         char filename[100] = {'\0'};                                                                        //文件名         sprintf(filefolder_path,"/run/media/sda1/%d-%d%d%d",1,21,10,22);//文件夹的路径         printf("%s\n",filefolder_path);                                                                        //打印文件夹路径         sprintf(file,"%s/%d%d%d",filefolder_path,20,40,50);                                //在新的文件夹下新建文件         printf("%s\n",file);                                                                                        //打印新建文件的路径         } ``` 打印结果如下: ##二、新建文件夹方案 新建文件夹有个专门的函数为mkdir函数,此函数的头文件为#include 假如文件夹下已经有了aaa的文件夹,如果再用mkdir函数来新建aaa的文件夹是不会成功的,比如以下例子: ```c mkdir("/run/media/sda1/aaa",0777); mkdir("/run/media/sda1/bbb",0777); mkdir("/run/media/sda1/bbb",0777); ``` 最终在文件夹下只会新建aaa的文件夹和一个bbb的文件夹。

  • 2021-10-15
  • 回复了主题帖: TL5728-IDK-A3板子与网口对应关系

    freebsder 发表于 2021-10-13 17:28 看来楼主入Linux了
    入坑了

  • 2021-10-13
  • 发表了主题帖: TL5728-IDK-A3板子与网口对应关系

    # TL5728-IDK-A3板子与网口对应关系

  • 2021-09-20
  • 回复了主题帖: Linux调用dirent结构体编译报错解决方案

    最终效果测试,指令删除指定文件夹下的全部文件: 输入删除文件指令如下: delete_file("/home/root/1");

  • 发表了主题帖: Linux调用dirent结构体编译报错解决方案

    # Linux调用dirent结构体编译报错解决方案 ##问题描述 因为要在linux环境下写一段删除指定文件件所有文件的代码,调用了一个关于文件目录的头文件#include , ```c dirent * dir_info; ``` 有一条语句是这么写的,编译后出现了如下错误: 说我**unknown type name 'dirent'     dirent * dir_info; ** ##问题解决 调研了一些网络资料以后,在dirent前面加上struct就好了 ```c struct dirent * dir_info; ``` 在编译一下,就通过了,问题解决。

  • 2021-09-10
  • 回复了主题帖: Linux的CPU散热风扇持续旋转,发现CPU占用率高达99%

    问题解决了,发现有个存储的线程确实卡死在死循环里了,解决了一下cpu占用率回到了2%,感觉已经正常了。

  • 回复了主题帖: linux同时使用ITIMER_REAL和ITIMER_VIRTUAL两个定时器时出了神奇的BUG

    Jacktang 发表于 2021-9-10 13:24 不会是编译器的问题,毕竟最后编译成功了 或者是与用的动态库有关
    一开始编译总是报错说未定义变量,编译器傻了

  • 发表了主题帖: Linux的CPU散热风扇持续旋转,发现CPU占用率高达99%

    #Linux的CPU散热风扇持续旋转,发现CPU占用率高达99% ## 通过SecureCRT工具,首先运行需要测试的程序,r然后设置网络通信端口,连接IP地址为开发板的IP和端口,登录开发板,输入top指令: 发现CPU占用率高达99%,可能在程序中进入了死循环。

  • 2021-09-09
  • 发表了主题帖: linux同时使用ITIMER_REAL和ITIMER_VIRTUAL两个定时器时出了神奇的BUG

    #linux同时使用ITIMER_REAL和ITIMER_VIRTUAL两个定时器时出了神奇的BUG ##Linux定时器的简单介绍 ITMER_REAL定时器,每到定时时间都会发送一个SIGALRM信号,当主函数接收到了这个信号之后,调用信号处理函数; 对于ITIMER_VIRTUAL和ITIMER_PROF的使用方法类似,当你在setitimer里面设置的定时器为 ITIMER_VIRTUAL的时候,你把sigaction里面的SIGALRM改为SIGVTALARM,; 同理,ITIMER_PROF对应SIGPROF; ##linux同时使用ITIMER_REAL和ITIMER_VIRTUAL两个定时器 代码如下: ```c #include "timer.h" #include #include #include #include #include #include #include #include int aaa = 0; int bbb = 0; int ccc = 0; /*   函数名:init_time   功能:设定定时时间 */ void init_timer_real(void) {   struct itimerval value;   value.it_value.tv_sec = 1;//秒   value.it_value.tv_usec = 0;//微秒;   value.it_interval = value.it_value;   /* set ITIMER_REAL */   setitimer(ITIMER_REAL, &value, NULL); } void shutdown_timer_real(void) {         struct itimerval value;         value.it_value.tv_sec = 0;//秒         value.it_value.tv_usec = 0;//微秒;         value.it_interval = value.it_value;         /* set ITIMER_REAL */         setitimer(ITIMER_REAL, &value, NULL);//设置计时器ITIMER_REAL } /*   函数名:init_sigaction   功能:指定定时操作内容 */ void init_sigaction_timer_real(void) {   struct sigaction tact;       tact.sa_handler = timeout_info_timer_real;   tact.sa_flags = 0;   sigemptyset (&tact.sa_mask);//sigemptyset用来将参数set信号集初始化并清空。   sigaction(SIGALRM, &tact, NULL);//建立信号处理机制 } /* 定时器操作 */ /*   函数名:timeout_info   功能:定时操作内容   输入:不使用 */ void timeout_info_timer_real(int signo)//定时操作内容 {         static unsigned int two_timer = 2;         static unsigned int five_timer = 5;         static unsigned int ten_timer = 10;         two_timer--;         if(0 == two_timer)         {                 two_timer = 2;                 //执行某项操作         }         five_timer--;         if(0 == five_timer)         {          five_timer = 5;          //执行某项操作         }         ten_timer--;         if(0 == ten_timer)         {                 ten_timer = 10;                 //执行某项操作         }         printf("timer = %d\n",aaa++);                 } void init_timer_virtual(void) {   struct itimerval value;   value.it_value.tv_sec = 1;//秒   value.it_value.tv_usec = 0;//微秒;   value.it_interval = value.it_value;   /* set ITIMER_REAL */   setitimer(ITIMER_VIRTUAL, &value, NULL); } void shutdown_timer_virtual(void) {         struct itimerval value;         value.it_value.tv_sec = 0;//秒         value.it_value.tv_usec = 0;//微秒;         value.it_interval = value.it_value;         /* set ITIMER_REAL */         setitimer(ITIMER_VIRTUAL, &value, NULL);//设置计时器ITIMER_REAL } /*   函数名:init_sigaction   功能:指定定时操作内容 */ void init_sigaction_timer_virtual(void) {   struct sigaction tact;      tact.sa_handler = timeout_info_timer_virtual;   tact.sa_flags = 0;   sigemptyset (&tact.sa_mask);//sigemptyset用来将参数set信号集初始化并清空。   sigaction(SIGVTALRM, &tact, NULL);//建立信号处理机制 } /* 定时器操作 */ /*   函数名:timeout_info   功能:定时操作内容   输入:不使用 */ void timeout_info_timer_virtual(int signo)//定时操作内容 {                 printf("timer = %d\n",bbb++);                 } ``` 写完代码保存后进行编译,时间为18点10分的时候开始编译,编译器出现了如下错误: 一直到20点14分,我去吃了个饭回来,再次编译后(程序没有做任何改动),程序竟然通过了,并且没有报错。 :Onion-18: 究竟发生了什么问题,请问是编译器的问题吗???

  • 2021-09-07
  • 发表了主题帖: 联想台式机启天M410解决VMware“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”

    #联想台式机启天M410解决VMware“此主机支持Intel VT-x,但Intel VT-x处于禁用状态” ##问题描述 联想台式机安装虚拟机之后出现了“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”,按照网络上的解决方案,[http://www.lotpc.com/dngz/8703.html](http://www.lotpc.com/dngz/8703.html) 开机按F1进入系统的BIOS并没有找到相应的关键字——intel virtual technology。可能按照教程找不到“Intel(R) Virtualization Technology”选项,那么可以前往不同的顶部菜单栏根据关键词“Virtual”、“Virtualization”、“VT-X”、“SVM”、“虚拟化技术“,来找到VT设置。 ##联想台式机启天M410解决VMware“此主机支持Intel VT-x,但Intel VT-x处于禁用状态” 这样就可以解决问题了,Good Luck To you!!!

  • 2021-08-25
  • 回复了主题帖: 运行超出时间限制,请检查是否有死循环或程序算法效率低?

    freebsder 发表于 2021-8-25 17:31 程序有个原则:空间换时间,或者时间换空间。你这个情况可以用临时数值的空间换取第二次计算因子的时间。
    谢谢大佬指点,感谢感谢

  • 2021-08-24
  • 发表了主题帖: 运行超出时间限制,请检查是否有死循环或程序算法效率低?

    本帖最后由 bqgup 于 2021-8-24 21:05 编辑 #运行超出时间限制,请检查是否有死循环或程序算法效率低? ##要求描述 ##我的代码 ```cpp #include //#include int main() {         long n;         long i,j,sum = 0;         scanf("%ld",&n);         for(i = 6; i

统计信息

已有527人来访过

  • 芯积分:2691
  • 好友:5
  • 主题:136
  • 回复:552
  • 课时:--
  • 资源:7

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言