2013-03-22 41 views
1

我正在嘗試開發一款應用程序,該應用程序使用相機閃光燈在手機上傳輸摩斯碼。我的傳輸部分工作正常。我基於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提供的原始相機幀。 有什麼辦法可以強加這些嗎?或替代解決方案進行檢測/解碼?

請讓我知道,如果我不明白。謝謝!

+0

不錯的主意,我的孩子們喜歡它了;) – berak 2013-03-22 18:09:25

回答

1

那麼,可以有多個答案。首先,您可以要求接收器手動輸入,並在第一秒鐘內分析所有幀。也許你可以隨時監控並設定輕型模式的強度。您也可以在發送方將光線照射一秒鐘後開始重新同步序列,然後開始傳輸。這將是握手,其餘的信息。

偉大的工作,並希望你做出一個應用出來。

相關問題