【成本只要 30 台幣】一塊鏡子+電腦視覺程式碼,就可以幫你的筆電安裝「觸控螢幕」

【為什麼我們要挑選這篇文章】手機滑習慣了,有時候就會想要「滑電腦」,因為比起滑鼠,觸控方便多了。然而,不是每台筆電都有觸控螢幕,除了花大錢買新筆電,你有更省錢的選擇。

有個 MIT 的工程師只花了 1 美元(30 台幣)的成本,用 1 塊鏡子和幾條電腦視覺程式碼,輕鬆讓自己的筆電升級觸控螢幕。他是怎麼做到的?(責任編輯:郭家宏)

「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 [email protected]

1 美元(30 台幣)可以做什麼呢?買一瓶水,買半個冰淇淋,或者讓你用上半小時的 GPU。但這些都不夠酷!

今天,文摘菌(本文作者)決定,只用 1 美元,給 MacBook 裝上觸控螢幕。

你沒有聽錯,只要 1 美元!用 1 美元的硬體,和一點電腦視覺原理,一個來自 MIT 的朋友 Anish Athalye 在與幾個隊友的合作下,就在 MacBook 裝了觸控螢幕。

程式碼已經在 Github 上開源,趕緊來學一學!

Github 傳送門

運用光反射原理,建立螢幕觸控系統

背後的基本原理很簡單。從一個特定角度看螢幕,螢幕會反光,你可以透過檢查手指是否碰觸到自己的鏡像,來判斷手指是否接觸到螢幕。

我的隊友 Kevin 在國中就發現了這種現象,並建立了 ShinyTouch 這個軟體。該軟體只需利用外部網路攝影鏡頭,就可以輕鬆建構一個觸控輸入系統。

ShinyTouch 軟體 傳送門

我們想試試是否可以將這個系統進一步簡化,並使其在沒有外部網路攝影鏡頭的情況下工作。我們的想法是,在 MacBook 的內置網路攝影鏡頭前改裝一個小鏡子,這樣網路攝影鏡頭就會以鋭角向下拍攝電腦螢幕。相機可以看到手指懸停或觸摸螢幕,這樣我們就可以使用電腦視覺將影片輸入轉換為觸摸事件。

只要四個簡單材料,就可以完成基本設計

我們的硬體很簡單。我們所需要的只是在網路攝影鏡頭前面,以適當的角度放置一面鏡子。這是我們的材料清單:

一個小鏡子、硬紙板、門鉸鏈、熱熔膠

經過重複實驗之後,我們決定使用刀和熱膠槍在幾分鐘內完成設計。

這個是最後的成品:

透過手指與反射輪廓,檢測手指的位置與動作

處理影片的第一步是檢測手指。以下是網路攝影鏡頭看到的典型畫面:

手指檢測演算法需要找到觸摸/懸停點以進行進一步處理。我們目前的方法是使用經典電腦視覺技術,處理方式包括以下步驟:

1. 透過膚色進行過濾,並設置相應的二進制閾值。
2. 找到手指及反射輪廓。
3. 找出兩個最大的輪廓並確保輪廓在水平方向上重疊,而較小的輪廓在較大的輪廓上方。
4. 將觸摸/懸停點標識為連接較大輪廓頂部和較小輪廓底部的線的中點。
5. 根據兩個輪廓之間的垂直距離區分觸摸和懸停。

上面顯示的,是將此過程應用於網路攝影鏡頭的照片輸出結果。手指和反射(輪廓)以綠色標出,邊界框以紅色顯示,觸摸點以紅色顯示。

將觸控點從網路攝影鏡頭座標,對應到螢幕上的座標

處理輸入的最後一步,是將觸摸/懸停點從網路攝影鏡頭坐標映射到螢幕上的坐標。這兩者是與單應性相關的。我們透過校準,即找到用戶觸摸螢幕上的特定點,得到單應矩陣。在我們收集了相應的網路攝影鏡頭坐標的數據後,可以使用 RANSAC 準確地得到其單應性。這為我們提供了一個投影矩陣,這個矩陣可以將網路攝影鏡頭得到的坐標映射到螢幕上的坐標。

上面的短片示範了校準過程,其中用戶必須在螢幕周圍跟隨綠點移動手指。該動圖包含一些調試過程,這些過程會覆蓋網路攝影鏡頭的即時影片。網路攝影鏡頭坐標中的觸摸點以紅色顯示。在校準過程完成之後,投影矩陣會以紅線的方式顯示出來,並且軟體切換到以估測點為藍色的模式。

在當前的原型中,我們將懸停和觸摸轉換為滑鼠事件,使現有應用程式可以隨時隨地啟用觸摸功能。

如果我們編寫自己的觸控式應用程式,我們可以直接使用觸摸數據,如懸停高度等資訊。

用 1 美元的硬體,讓筆電輕鬆擁有觸控螢幕功能

我們的專案是一個概念性專案,你只需 1 美元的硬體即可將筆記本電腦變成觸控螢幕。作為一個原型(prototype),它的效果非常好!

通過一些簡單的修改,例如更高解析度的網路攝影鏡頭(我們的是 480 p)和一個允許網路攝影鏡頭捕捉整個螢幕的曲面鏡,Sistine 可以成為一個實用的低成本觸控螢幕系統。

原文報導 傳送門

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈只要 1 美元!教你给 MacBook 装上触摸屏 〉。首圖來源: 大數據文摘

更多有趣的黑科技

工程師用 Python 寫了能辨識動作的神經網路,只因為懶得爬下床關電燈!
【工程師實用外掛】開啟 Cython,讓你的 Python 運算速度提升 36 倍!
工程師好用資源來了!超完整 Python 查詢表,程式碼複製貼上不用自己寫


攻佔新南向市場,製造廠該注意哪些坑?

讓東南亞在地專家一次破解

即刻解析

點關鍵字看更多相關文章: