技術宅男逆襲 牛人自製雷射虛擬投影鍵盤

2021-07-10 05:58:50 字數 3088 閱讀 5655

#include #include #include "opencv/cv.h"

#include "opencv/highgui.h"

#include "cvblob.h"

using namespace cvb;

typedef struct key

;key g_keymap =

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

,  ,

};int g_key_num = sizeof(g_keymap)/sizeof(key);

int main()

cvmorphologyex(segmentated, segmentated, null, morphkernel, cv_mop_open, 1);

cvshowimage("segmentated", segmentated);

iplimage *labelimg = cvcreateimage(cvgetsize(frame), ipl_depth_label, 1);

cvblobs blobs;

unsigned int result = cvlabel(segmentated, labelimg, blobs);

cvfilterbyarea(blobs, 500, 1000000);

cvrenderblobs(labelimg, blobs, frame, frame, cv_blob_render_bounding_box);

cvupdatetracks(blobs, tracks, 200., 5);

cvrendertracks(tracks, frame, frame, cv_track_render_id|cv_track_render_bounding_box);

cvshowimage("red_object_tracking", frame);

// print key

for (cvtracks::const_iterator it=tracks.begin(); it!=tracks.end(); ++it)

}}  cvreleaseimage(&labelimg);

cvreleaseimage(&segmentated);

char k = cvwaitkey(10)&0xff;

switch (k)

break;

}  cvreleaseblobs(blobs);

//framenumber++;

}  cvreleasestructuringelement(&morphkernel);

cvreleaseimage(&frame);

cvdestroywindow("red_object_tracking");

return 0;

}

虛擬雷射

投射鍵盤在2023年就由ibm發明了。

我第一次看到這玩意兒就覺得特別新奇,後來看到**上棒子的產品,要900多公尺,實在是宰人啊。於是就一直有想法做乙個。

不久前在**看到了投射鍵盤圖案的雷射模組,果斷買了乙個,開始籌畫製作乙個。

taobao上買的650nm虛擬鍵盤雷射元件

虛擬鍵盤雷射元件

而且現在有了強大的opencv影象處理庫,實現這樣的虛擬雷射投射鍵盤變得易如反掌。

先說說投影鍵盤的基本原理。鍵盤由三個主要部件組成:攝像頭、鍵盤圖案投射器、一字線**應雷射頭。

見下圖:

投影鍵盤的基本原理

圖上從上到下分別是鍵盤圖案投射器、攝像頭、一字線**應雷射頭。

當然,攝像頭放在鍵盤圖案投射器上面也是可以的,比如我就是這麼做的。

1. 鍵盤圖案投射器在平坦的桌面投出清晰鍵盤圖案

2. 最底下的一字線性雷射

(一般採用紅外線的,這樣眼睛不可見)發出一字型雷射,平行於桌面射出,這樣如果手指有按鍵活動,會在手指上形成雷射光斑

3. 攝像頭捕獲雷射光斑,對應於鍵盤圖案對映的位置,就可以知道哪些鍵被按下

ok,原理很簡單,是不是。有了這些模組,剩下的關鍵就是攝像頭的影象處理演算法了,而且現在有了opencv,實現也不是難事。

這裡說一下我的實現方法。

可見光譜

由於人眼對雷射的反應不一樣,780nm-808nm的雷射人眼不敏感,可看到微弱的一絲紅光。850nm至1064nm波長人眼不可見,通過紅外感光儀器等專業裝置可以看到,其中808-850nm通過攝像頭可以看到。980-1064nm通過倍頻片可以看到。

所以我在網上買了乙個808nm-810nm 紅外一字線雷射器

。這樣配上濾光片,可以濾去絕大多數其他波長的雜光,只剩下紅外雷射的光斑。

這樣做的好處是減少干擾,增加鍵盤的可靠性,而且使演算法處理更加簡單有效。

加上前面的650nm虛擬鍵盤雷射元件

,總共也就花了100塊錢左右。

25mw 808nm-810nm 紅外一字線雷射器 雷射頭

紅外一字線雷射器

順便說一句,本文中的攝像頭放的位置只能捕捉到部分鍵盤影象,所以demo只是演示了部分鍵盤的按鍵。

不過絲毫不影響原理介紹。如果要獲得全部鍵盤影象,或者去買乙個廣角的攝像頭,或者把這個攝像頭位置提高,不是什麼難事。

時間有限,不想折騰了。

雷射投影鍵盤

**:

那些年 乙個文科男對理工男的逆襲,震驚了!

那些年 作為乙個文科男,我已經記不住到底是什麼時候愛上文字的,只知道敲打著鍵盤,聽著熟悉的聲音,突然就覺得寂寞在寂靜的夜晚慢慢逝去。那時候起,我每天生活在研究 中,如詩人就必須寫詩,歌手就必須唱歌,那是我人生中第一次看到如此清晰的追求物件。我興奮極了,又有了初戀的感覺!我心愛的她,離我不遠了!初戀是...

技術型宅男的10宗罪(IT工程師性格分析)

摘要 在it領域,左腦型的思想者具有優勢。不過,根據alan norton的觀察,他們並非完美無缺。普通人也許會把it視為極客之家。而我則更喜歡把it看做分析型思想家的王國。分析型思想者,或者叫做左腦思想者,是直線型的思想者。邏輯而非感情統治著分析者的領地。不擅與人打交道的特殊特質使得分析型的人電腦...

技術型宅男的10宗罪(IT工程師性格分析)

摘要 在it領域,左腦型的思想者具有優勢。不過,根據alan norton的觀察,他們並非完美無缺。普通人也許會把it視為極客之家。而我則更喜歡把it看做分析型思想家的王國。分析型思想者,或者叫做左腦思想者,是直線型的思想者。邏輯而非感情統治著分析者的領地。不擅與人打交道的特殊特質使得分析型的人電腦...