扩展源_视觉框架SimpleCV - 图像源
關聯知識
- Python
- SimpleCV
SimpleCV框架支持大多數通過各種接口(例如USB,FireWire或內置網絡攝像頭)連接到計算機的攝像機。 它可以訪問通過有線或無線連接連接的網絡IP攝像機。 它甚至可以與許多視頻捕獲板進行交互,這些視頻捕獲板可與各種模擬視頻輸入(例如復合視頻,分量視頻和S視頻)一起使用。
除了連接相機外,還有其他選項,例如是使用單色相機還是彩色相機,還是使用帶CCD或CMOS圖像傳感器的相機。 一些照相機記錄光譜的不同部分,例如可見光,紅外或紫外線。 然后,總有多少錢可以選擇,因為如今的相機價格從非常便宜到非常昂貴。 使用所有這些選項,最簡單的方法是從基本的網絡攝像頭甚至本地圖像文件開始。
圖像,圖像集和視頻
SimpleCV框架不需要照相機即可處理圖像。 相反,它使加載和保存以前捕獲并保存到磁盤的圖像變得容易。 這對于使用預先存在的圖像源以及保存從相機捕獲的圖像非常有用,以便以后可以處理它們。 下面演示了加載圖像文件的三種方法:
代碼略
上面示例中的第一種方法是加載SimpleCV徽標,該徽標與SimpleCV軟件捆綁在一起。 其他捆綁的圖像包括:
simplecv:SimpleCV徽標
logo:另一種SimpleCV徽標
logo_inverted:徽標的反向版本
logo_transparent:具有透明背景的徽標版本
lenna:在許多常見的圖像處理文本中都可以找到“ Lenna”圖像
上述圖像示例如下:
圖像略
保存圖像與加載圖像一樣容易。 通常,保存是通過將文件名傳遞給save()函數來完成的。 作為一種快捷方式,如果已經從磁盤加載了映像,則只需調用不帶參數的save()函數將覆蓋原始映像。 或者,傳遞新的文件名會將映像的新副本保存到磁盤。 演示一些選項:
代碼略
提示:保存從內置圖像加載的文件或直接從Internet獲取的文件時,必須提供文件名。
SimpleCV圖像庫實際上會查看提供的文件擴展名以確定圖像格式。 因此,擴展名為.jpg的文件將另存為JPEG,擴展名為.png的文件另存為PNG。 此操作與文件的原始格式無關。 例如,以下代碼是將圖像從JPEG轉換為PNG的簡便方法。 文件擴展名對于確定文件格式不區分大小寫,但是會影響文件名。 使用img.save(“ myfile.PNG”)和img.save(“ myfile.png”)都會創建一個PNG文件,但文件名將保留大寫字母。
圖像集
除了處理單個圖像文件外,處理大量圖像文件也是一項常見任務。 不是單獨加載它們,而是ImageSet()庫管理圖像集。 以下示例演示了如何使用ImageSet管理來自安全攝像機的一組文件的保存。 ImageSet()命令采用一個可選參數:包含要加載圖像的目錄的路徑。 如果未提供目錄參數,則ImageSet將創建一個可以添加圖像的空列表。
代碼略
作為有關ImageSet的最后說明; 像Image一樣,ImageSet也具有show()函數。 當在Image對象上調用show()函數顯示單個圖像時,在ImageSet對象上調用時它將顯示幻燈片。 對于ImageSets,show函數采用一個參數來設置圖像之間暫停的秒數。 例如,ImageSet()。show(5)將顯示幻燈片,在顯示該組中的每個圖像之間有五秒的延遲。
Kinect圖像采集
是否想在不擁有Kinect的情況下使用Kinect代碼? Freenect項目具有一組稱為fakenect的驅動程序,該驅動程序偽造Kinect的安裝。 想要查詢更多的信息,參見鏈接/。
安裝
使用
如上所述,Kinect是標準2D相機與第二個深度傳感器的組合,以捕獲3D信息。 使用2D相機的整體結構類似于本地相機。 但是,初始化相機略有不同:
代碼略
僅將Kinect用作標準的2D相機是非常浪費金錢的。 Kinect是用于捕獲有關對象的基本深度信息的好工具。它測量的深度為0到1023之間的數字,其中0距離相機最近,而1023距離相機最遠。 盡管Kinect捕獲的值介于0到1023之間,但是SimpleCV框架會自動將該范圍縮小到0到255之間。 因為與其將深度圖視為數字數組,通常它將其顯示為灰度圖像。 在此可視化中,附近的對象將顯示為深灰色,而遠處的對象將為淺灰色或白色。 為了更好地理解這一點,下面的示例演示了如何提取深度信息:
詳情參閱
視覺框架SimpleCV - 圖像源?viadean.com 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的扩展源_视觉框架SimpleCV - 图像源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java方面的文献综述怎么写_文献综述应
- 下一篇: 挂机脚本_叠猫猫逛店铺挂机脚本,每天稳定