2015-03-25 61 views
1

Im最近在這裏新增了,我們爲我們的學校項目製作了一個單元格檢測。該功能在顯微鏡下運行,並從我們的軟件中檢測出來自PNG圖像的細胞。javascript中的對象檢測和跟蹤

在這些圖像上會有tracking.js完成的顏色檢測,然後返回單元格中心圖像尺寸的X和Y位置。

我們的關注是我們在顯微鏡下獲得的細胞會不斷髮展,因此我們每分鐘都會自動獲取這個圖像。所以我們有一組包含細胞的10張圖像,也有消失的細胞和新細胞。將它們識別爲新單元格的最好方法是什麼,並且單元格仍然存在於時間範圍內,以便通過ID標識它們,並將消失的單元格作爲對象刪除。

很多文字,讓我們看看我們現在有什麼。

現在,作爲檢測工作很好很好。對於每一個細胞,我們使用下面的代碼一個新的對象:

var cells = []; 

celltrack = function (x, y) { 
    xoutput = (img.offsetLeft + x); 
    youtput = (img.offsetTop + y); 

    cells = new cell('cell'); 
    cells.id = count++; 
    cells.x = xoutput; 
    cells.y = youtput; 
} 

cell = function (type) { 
    this.type = type; 
    this.id = 0; 
    this.x = "x"; 
    this.y = "y"; 
} 

在這一刻幾個主要問題:

  1. 這是創建一個包含小區信息的對象的正確方法是什麼?
  2. 在創建刪除對象之前識別單元格的最佳方法是什麼?
  3. 如果一個單元格已經移動,我們如何將單元格鏈接到具有2個不同位置的相同對象。

這就是現在,如果我們有進一步的改善我們的項目,我們隨時通知你。

+0

您聲明'cells'爲_array_,但指定一個對象 – Grundy 2015-03-25 11:33:39

回答

0

我認爲問題是:

  • 每一分鐘,你會得到細胞的圖像,然後對細胞特性進行分析,輸出位置在小區A系列(陣列)圖像
  • 你想追蹤細胞是如何創建/消失

時間段之間/移動有了這些假設,我認爲:

  1. 是的,你可以用你的片段中定義的細胞構造函數,儘管通常我們將利用構造函數(以表示他們應該關鍵字一起使用,如細胞)。進入新創建對象的屬性取決於您,現在它們是類型IDxy
  2. 我認爲這取決於細胞識別的規則,基於我們的輸入(只是位置),我不確定我們在這裏有一個好的解決方案。我們可以在每個圖像中考慮和提取細胞的其他屬性嗎?
  3. 它涉及到最後一個問題,但是一旦您可以識別單元格,就可以在時間段之間更新單元格對象,單元格位置的歷史記錄可以保存在單元格對象本身中,也可以稱爲位置類型陣列
+0

謝謝,您的意思是我們需要另一種方式來檢測圖像上的單元格以識別它們?你有沒有選擇把我們指向正確的方向?隨着時間的推移,結構和位置會發生變化,有哪些特性可以用來識別它們? – 2015-03-25 14:52:40

+0

@OliviervdSloot如何識別單元格將是'業務規則',它們應該由您或請求此功能的一方決定:-)根據單元格的屬性會讓您考慮兩張圖片中的兩個單元格是相同的,從你的域名?如果有,我們可以從圖片或其他數據源獲取這些屬性嗎? – 2015-03-25 16:02:34