用 Matlab GUI搭建一個簡單的CBIR圖像檢索系統(一)

基於內容的圖像檢索過程如下,系統包括圖像內容的特徵提取、相似度比較、人機介面以及相關反饋等組成部分。CBIR系統的工作過程如下:

(1)首先通過對圖像資料庫這種圖像的圖像數據進行特徵提取,構成圖像特徵資料庫,其中特徵提取是系統的核心部分。

(2)通過人機介面交互實例圖像或者圖像特徵進行特徵的相似度比較,然後按照相似度從大到小顯示檢索結果。

(3)用戶對檢索結果進行相關反饋,檢索根據反饋信息調整特徵權重,優化檢索結果。

根據上述步驟,先確定需要提取的圖像特徵,本文以圖像的灰度直方圖特徵為例。提取所有圖像的灰度直方圖特徵,然後儲存在一個.mat數據文件中,形成圖像的特徵庫。

function [ DataBaseFeatures ] = HistFeatureExtraction( NumOfImg,FileName )

%UNTITLED2 此處顯示有關此函數的摘要

% 此處顯示詳細說明

for n =1:NumOfImg

ImagePath = [FileName num2str(n) .BMP]; %生成圖像的URL

% ImagePath = [FileName num2str(n,%03d) .tif];

ImageRead=imread(ImagePath);

ImageRead = ImageRead(:,:,1:3); %讀取圖像RGB值

ImageRead = rgb2gray(ImageRead); %灰度化圖像

[Count,x]=imhist(ImageRead); %提取直方圖

DataBaseFeatures{n,1}=ImagePath;

DataBaseFeatures{n,2}=Count; %用元胞數組儲存特徵

end

save(HistFeature.mat,DataBaseFeatures) ; %保存特徵為數據文件

end


推薦閱讀:

有哪些利用高維空間及特性解決低維空間的問題的方法和例子?
在機器學習的項目中,特徵是如何被找出來的?
圖像底層特徵提取--顏色特徵(1)
用語音mfcc參數作為特徵,利用SVM來進行分類判斷聲音是否是嬰兒哭聲?
Controllable Invariance through Adversarial Feature Learning

TAG:图像处理 | 图像检索 | 特征提取 |