2012-01-23 92 views
7

我在白色背景中有30個不同葉子的圖像,編號爲1-30。我正在處理圖像處理中的一個項目,用戶可以使用白色背景加載新的葉子圖像,程序會將其與數據庫中的圖像進行比較並顯示最相似的圖像。我是matlab新手。matlab提取matfile中的特徵

如何提取功能並將其以雙格式存儲到數據庫(mat文件)?

+0

首先,您必須決定「最相似」的含義以及您的「功能」。如果你只是想存儲原始像素值,那麼你可以做'x = imread('file.png'); Y =零([30 size(x)]); Y(1,:,:,:) = x;'。 –

回答

1

您需要項目中的特徵檢測部分來提取特徵集。這將是一個matlab函數,用於生成具有特徵的輸出數組或矩陣。爲了知道哪些休假產生了這些功能,您需要使用字符串標記數據。 Matlab具有用於存儲數據和文本等從PRtools採取的一個在本例中的結構:

> struct(A) 
ans = 
     data: [100x3 double] 
    lablist: {2x4 cell} 
     nlab: [100x1 double] 
    labtype: 'leave1' 
    targets: [] 
    featlab: [3x2 char] 
    featdom: {[] [] []} 
     prior: [] 
     cost: [] 
    objsize: 100 
    featsize: 3 
     ident: [100x1 struct] 
    version: {[1x1 struct] '21-Jul-2007 15:16:57'} 
     name: [] 
     user: [] 

的特徵可以是像素值,例如,使得它們將被存儲在數組內。這是一個簡單的任務,但你首先需要讀一點關於這個話題。

主要的問題將是爲您選擇的分類器選擇一個訓練集和測試集(特徵)。這取決於你使用了多少功能,它們有多相似,以及很多事先你無法知道的事情,所以你將不得不嘗試不同的訓練/測試集和功能配置。

有一個matlab設計工具箱爲此目的,所以試試看:PRtoolbox

祝你好運。