2012-04-01 51 views
0

我困在我的任務上,想要一些算法上的指針。 我會看到代表不同圖像的文本文件。空白區域是沒有像素的位置,'&'代表開啓像素。實現文件字符分析

我的目標是給出一個100 x 100的圖像文本文件來分析和計算對象在那裏的概率,然後在文件的位置座標。

我知道我必須使用某種字符分析,但我覺得我必須一次檢查例如10x10個網格,分析有多少個像素,並確定對象在那裏的確定性。 (這是因爲或多或少的像素可以打開,物體仍然存在)

感謝您的幫助。

+0

什麼是「對象」? – 2012-04-01 14:26:04

+0

一個較小的圖像由&像素組成的字符 – user1306387 2012-04-01 14:53:00

回答

0

我想我正確理解你的問題。有一件事會改變答案,就是你是否事先知道對象。如果你正在尋找一個任意的模式,那麼它有點困難,但仍然可行。要找到一個你知道它會是什麼樣子的對象將會歸結爲嵌套for循環和對二維數組的深入理解。您可以拉入文本文件的每一行並查找'&'。如果它找到一個,它就會根據相對於第一個'&'的位置開始尋找該模式的其餘部分。

例如,如果你正在尋找從頂部對角線從左上到右下,你會直到你來到了第一個「&」繼續一起。之後,您將查看單元格的一列和一行的單元格。如果這也是&符號,那麼你知道你有一條對角線。如果不是,繼續第一個'&'後繼續前進。

for (int c = 0; c < textArray.length; c++) 
{ 
    for (int i = 0; i < textArray[c].length; i++) 
    { 
     Look at the character 
     If it is '&' 
      Look for the next character and so forth 
      If the pattern is there 
       return true 
    } 
} 

看看是否有助於您的算法滾動。您需要確保檢查數組中的合法範圍,以便打擊超出範圍的異常。

+0

好吧,我現在將文件的內容存儲到二維數組中。我現在遇到的問題是我正在努力解決如何在100x100陣列中檢查10x10平方米的問題。問題是如何跟上每個街區。謝謝 – user1306387 2012-04-03 00:49:39

+0

好,所以僞代碼將是: 閱讀包含10000個字符的文件一些空格一些&(100x100) 使用循環搜索某個特定模式的對象是否存在 如果超過一定百分比,我的循環是這樣的: 'code' for(int i = 0; i user1306387 2012-04-03 01:24:21

+0

我不認爲你甚至不必擔心可能的百分比。對於這個應用程序,它既可以是模式,也可以不是。基本上,如果你找到一個'&',你可以看看模式中的下一個'&'應該在哪裏。如果它也在那裏,那麼尋找第三個'&'。如果不是,那麼你知道這不是模式,所以你可以繼續看起來像正常。你也可能想編輯你的問題,幷包含你得到的代碼或僞代碼。當它沒有被塞進評論中時,更容易看到它。你做得很好,繼續前進! – Gilbrilthor 2012-04-10 00:21:38