1. 程式人生 > >python+openCV實現簡單的圖片搜尋功能(一)

python+openCV實現簡單的圖片搜尋功能(一)

一、圖片搜尋引擎有三種不同的模式 
1.Search by Meta-Data:元資料搜尋模式,這種和傳統的文字搜尋類似,給索引資料新增文字註釋,上傳待查詢的圖片的時候,需要附加圖片的文字描述,實際在後臺搜尋對應的文字描述,典型的有 https://www.flickr.com/ 
2.Search by Example:基於內容的搜尋,即Content-Based Image Retrieval (CBIR) systems,也即後文介紹,通過計算圖片內容相似度實現搜尋,典型的如 https://www.tineye.com/ 
3.前兩種的混合

二、分四個步驟實施CBIR圖片搜尋引擎 


1.定義圖片運算元:即定義從圖片中提特徵的函式,原文中使用了色彩直方圖作為圖片的特徵 
2.簡歷索引資料庫:用第一步中定義的提特徵函式,遍歷圖片資料庫,提取每張圖片的函式,資料儲存格式為 image_name ,image_vector 
3.定義相似度函式:即計算從兩張圖片中提取的特徵向量間的距離,原文中用的卡方距離 
4.呼叫前三步寫好的函式,實現一個查詢入口

三、圖片搜尋業務圖設計

業務流程圖(我是菜鳥。。。才開始接觸,不會畫,就簡單成這樣了,下面還有時序圖。。。不多說上圖)

2.時序圖

四、介面設計(第一次接觸專案,介面設計我都不知道寫啥,大概就這樣,後續還有資料庫的設計)