×

置顶 本站原创软件与资源

2020年勇哥的机器视觉实验项目清单(大纲)

勇哥,很想停止 勇哥,很想停止 发表于2020-04-10 浏览32942 评论3
下面的清单算是对勇哥的工业自动化职业生涯中有关机器视觉方面的总结。它是勇哥看到过的一些项目,以及对应的知识点的盘点。勇哥缺少工匠精神,许多认识不深入,浮于表面,大叔级别的人了对待学习还是有点浮燥,造成许多知识点勇哥也是一知半解,希望借着这个贴子内容的梳理、和相关的实验的开展,不断的提升自己的知识深度,最重要一点是形成一种有规划的学习模式,节省时间提升效率。本贴的内容做为大纲,实际的实验内容勇哥会不断更新贴子出来。所以就将本贴置顶吧。(一) 单相机标定(1)halcon的标定助手 &nb
勇哥的免费视频教程清单

置顶 本站开源软件与资源

勇哥的免费视频教程清单

勇哥,很想停止 勇哥,很想停止 发表于2021-02-01 浏览22193 评论1
“少有人走的路”www.skcircle.com《勇哥的机器视觉》免费视觉教学系列免费视频勇哥会不定期更新,希望观赏后各位能给出宝贵意见。视频中所用图片素材以及源码等资料,在本站QQ群(98596273)中发布。视频也在B站发布,播放地址为:https://space.bilibili.com/1150123755?from=search&seid=5789841158140412090你也可以订阅本站微信公众号《勇哥的机器视觉》接收最新视频的更新消息。免费视频教程清单:————————
[netMarketing类库] EpsonRobot类: Epson机器人远程控制模块

netMarketing类库说明档

[netMarketing类库] EpsonRobot类: Epson机器人远程控制模块

勇哥,很想停止 勇哥,很想停止 发表于2024-07-30 浏览7343 评论3
命名空间:netMarketing.automation.Robot.Epson功能:Epson机器人的远程控制类功能详细说明:EpsonRobot类是一个用于以太网远程控制Epson机器人的类。使用前,先把机器人的控制器配置为“远程以太网”模式。有关远程控制的知识,请参考勇哥另一篇贴子的介绍:Epson机器人远程控制指令测试注意:使用这个类需要使用netMarketing V1.3.0及以上的版本。常用函数列表:/// 配置 public ConfigBase 
windows驱动编程学习(二)基础知识回顾之指针

驱动开发

windows驱动编程学习(二)基础知识回顾之指针

勇哥,很想停止 勇哥,很想停止 发表于2024-07-24 浏览1024 评论0

勇哥注:

指针练习好了,能解决90%的驱动开发时遇到的各种问题。

#include<stdio.h>
typedef void(*p_fun)(int i, int j);
struct st {
    int i;
    int j;
    int b;
    p_fun p_fun1;
};

void fun(int i, int j) {
    printf("fun%d %d\n", i, j);
}

int main()
{
    struct st st_ = { 0 };
    st_.i = 1;
    st_.j = 2;
    st_.p_fun1 = fun;
    st_.p_fun1(1, 2);     //fun1 2
    printf("%p %p\n", st_.p_fun1, &st_.p_fun1);    //00007FF668281334   000000496FF2F5A8

    struct st* pst_;
    pst_ = &st_;
    printf("%d %d\n", st_.i, st_.j);      //1  2

    int* p_int = (int*)pst_;
    printf("+0 %d %p\n", *p_int, p_int);  //   1   0000001B7CB2F4F8
    //*p_int=1;
    p_int += 1;
    printf("+1 %d %p\n", *p_int, p_int);  //+1  2   0000001B7CB2F4FC
    //*p_int=2;
    
    p_int += 1;
    *p_int = 3;
    printf("+1 %d %p\n", *p_int, p_int);  //+1   3  0000001B7CB2F500
 
    p_int += 1;
    printf("+1 %d %p\n", *p_int, p_int);   //+1   0   0000001B7CB2F504

    p_int += 1;
    printf("+1 %p %p %p\n", *p_int, p_int, *(long long int*)p_int);   //+1 0000000068281334 000000496FF2F5A8 00007FF668281334

   
    p_fun p =(p_fun)(*(long long int*)p_int);
    printf("%p\n",p);           //00007FF65AF91334
   
    p(1, 2);                  //fun1 2

    (*(p_fun*)p_int)(2, 3);   //fun2 3

    printf("%lld\n", sizeof(struct st));    //24

    return 0;
  
}