作者geroge0820 (可.....可恶)
看板Soft_Job
标题[请益] 关於相机抓取的问题
时间Sun Dec 3 20:55:52 2017
小弟是刚进公司不满一年的新人
公司用NI Vision这个软体作瑕疵辨识
搭配许多牌子的工业相机
最近主管想要作一个类似的软体来替代
所以希望我从相机连接开始实作(C#开发)
目标是可以同时抓取不同牌子的相机
作瑕疵辨识
但是目前遇到了困难
NI的软体可以直接显示出
目前电脑连接哪些牌子的相机及型号
但是我在实作上
则必须先选择这个牌子的相机驱动
才会抓到目前有哪个牌子的相机有连接
我目前想到的方法是
引用要用到的相机牌子的library
但是我觉得这应该不是最好的办法
如果有10种牌子要用 就要引用10种
程式一定会很肥
想请问各位版大
有没有什麽办法可以达到一样的功能
-----
Sent from JPTT on my HTC_U-1u.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.90.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1512305758.A.EE1.html
※ 编辑: geroge0820 (59.115.90.253), 12/03/2017 20:57:04
1F:→ MOONY135: 不然你还有甚麽方法可以知道相机有没有连结?12/03 21:10
2F:→ MOONY135: 通灵吗12/03 21:10
3F:→ MOONY135: VID PID 当USB有插拔事件的时候就去扫12/03 21:13
感谢提议!!
4F:推 anumis: 用 MEF 技术+ interface 规划,把不同相机的library 模组12/03 21:59
5F:→ anumis: 化。这是我现在遇到不同家运动控制+Dio 卡但要在同一个系12/03 21:59
6F:→ anumis: 统上运作的处理方式12/03 21:59
7F:→ anumis: 或是走 webcam的方式去抓12/03 22:01
听起来不错!
8F:推 stupid0319: NI的软体拿来ollydbg看看?12/03 22:09
暴力破解?! 没想过这个方法
※ 编辑: geroge0820 (59.115.90.253), 12/03/2017 22:33:39
9F:推 GoalBased: 什麽叫程式一定会很肥,为什麽不算一下12/03 22:32
我的确没有算过
假如有10个厂牌的相机
每个都有自己的API
光是调曝光 我就要用判断10次
程式码就落落长
如果哪天又多出一个新的厂牌要用
每个函式里面又要多一个判断
这样程式修改起来也很麻烦!
※ 编辑: geroge0820 (59.115.90.253), 12/03/2017 22:42:00
10F:推 Hordor: 请爱用 design pattern:Strategy Pattern12/03 23:27
11F:推 vi000246: 同楼上跟anumis大的方法12/03 23:52
12F:推 anumis: 我的方法是每个模组有自己的硬体设定档,模组载入时会去读12/04 01:00
13F:→ anumis: 取并初始化;上层运用端只要处载入模组的程式码,并依inter12/04 01:00
14F:→ anumis: face提供的内容去操作,硬体端就全黑箱让模组自己去跑12/04 01:00
15F:→ anumis: 你现实应用上最多用到2种不同的相机,所以只依需要载入写12/04 01:04
16F:→ anumis: 好的模组DLL档就好,还可以训练自已对系统模组化的能力12/04 01:04
17F:→ anumis: 简单来说,就是"扩充元件"的概念12/04 01:05
18F:推 sunsamy: 因为你没有抽象层,没有解耦掉相机的实作12/04 12:26
19F:→ sunsamy: 可以参考"我这样解释OOP对吗"系列文章12/04 12:26
20F:→ sunsamy: PolicyBased Design Pattern都是在讲同一件事12/04 12:28
21F:推 ripple0129: genicam喂狗看看是不是你要的12/04 12:48
好像就是这个了
basler的API就是在genapi上开发
看来值得一试
再依照上面几位大大的意见
应该可以学到不少东西
※ 编辑: geroge0820 (27.242.170.175), 12/04/2017 14:32:48