我正在嘗試開發一款應用程序,該應用程序使用相機閃光燈在手機上傳輸摩斯碼。我的傳輸部分工作正常。我基於DOT或DASH打開閃光燈,並基於GAP,LETTER_GAP和WORD_GAP打開閃光燈。所有DOT,DASH,GAP,LETTER_GAP和WORD_GAP具有不同的持續時間,這些持續時間可以是ON或OFF。使用相機閃光燈的莫爾斯碼的Android應用程序
我有困難的時候搞清楚如何在接收端解碼這個...我使用opencp二進制閾值,看是否在圖像和不存在的一大亮點。基於相機fps,我可以計算出連續閃爍的幀數,它決定了點/短劃線/間隙。這裏是例子。
從發送者電話說我發送「ABC XYZ」的字符串。接收器的手機上,我得到這些字符串
。 - # -。*。 。# -。* - 。 -。*。 - # -。* - - # - - *。*。
「。」 - DOT 「 - 」 - DASH 「*」 - GAP 「#」 - 信GAP 「」 - WORD GAP
這個字符串完全代表 「ABC XYZ」。問題是我想不出接收方電話在哪裏開始尋找新消息,何時停止,因爲所有事情都是使用光信號發送的。發送和接收之間沒有同步。我的意思是,接收器無法識別開始和結束信號,因爲我只處理由opencv提供的原始相機幀。 有什麼辦法可以強加這些嗎?或替代解決方案進行檢測/解碼?
請讓我知道,如果我不明白。謝謝!
不錯的主意,我的孩子們喜歡它了;) – berak 2013-03-22 18:09:25