壞件檢測項目(一)

作爲我目前實習的主要方向
我會一點點的把我的學習過程記錄下來

先說一下目前待解決問題和目標要求:

問題
1.紅外功能不太適用,機器內箱空間距太小,紅外開啓的時候造成過曝現象,局部圖像太亮而失真
2.無光環境下無法成像,弱光環境下圖像不清晰

目標:
在生產過程中檢測壞件,以便及時停止生產,減少資源不必要浪費。

執行方案:
通過UVC攝像頭,採樣打印過程中的圖片,通過邊緣檢測算法,檢測物體輪廓,得到圖片a,通過CLI文件,得到樣品的真實輪廓,得到圖片B,比較圖片ab相似度

攝像頭

獲得本地副本並運行,請遵循以下簡單步驟。
這是一個如何列出你需要使用軟件的東西以及如何安裝它們的例子。
安裝NPM包

驅動
協議下載
uvc == usb video class ,標準協議可以從 usb.org下載

UVC攝像頭其內部主要分成一個 VC 接口和一個 VS 接口,VC 接口一般“控制”攝像頭的白平衡、曝光等問題; VS 接口則包含實時傳輸端點,即攝像頭的分辨率等問題。

控制一個USB視頻類兼容的網絡攝像頭從節點。大多數現代USB網絡攝像頭使用由USB實現者論壇標準化的一套通用控件。可以使用這些控件來更改相機上的某些內容,如亮度、對比度、縮放級別、對焦等等。

由於公司這頭的的產品需要,攝像頭的採集採用javascript代碼編寫,後續會分享一下Python的API
以下會分成幾個部分來記錄一下攝像頭的使用

UVC攝像頭控制

控制一個USB視頻類兼容的網絡攝像頭從節點。大多數現代USB網絡攝像頭使用由USB實現者論壇標準化的一套通用控件。可以使用這些控件來更改相機上的某些內容,如亮度、對比度、縮放級別、對焦等等。
參見uvcc,它將uvc-control封裝在命令行工具中。

const UVCControl = require('uvc-control')

// get the first camera by default
const camera = new UVCControl()
// or get a specific camera
const camera = new UVCControl({vid: 0x046d, pid: 0x082d})

camera.get('autoFocus').then(value) => console.log('AutoFocus setting:', value))
camera.set('brightness', 100).then(() => console.log('Brightness set!'))

FFmpeg(快進移動圖像專家組)

GStreamer(多媒體框架)

節點網絡攝像頭截圖

rust-webcam

後續更精彩喲。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章