作者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/m.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