2012-04-23 68 views
2

我的應用程序在SQLite數據庫中包含圖像。我想在將它插入數據庫之前檢查UIImage的重複值。圖像以blob類型存儲。這可能嗎?在sqlite中檢查UIImage的重複值

+0

你可以查看這個鏈接 - http://stackoverflow.com/questions/843972/image-comparison-fast-algorithm。你也可以將你的blob數據轉換爲NSData,然後你可以比較兩個NSData對象。 – rishi 2012-04-23 08:24:25

回答

2

這樣做的一種方法是將圖像數據的散列(如sha1)存儲在數據庫的另一個字段中,然後與其進行比較。

+0

+1,這將*顯着*減少必須進行比較的圖像數量,並使得操作在大型集合(數據庫)上非常快速*儘管具有匹配散列的圖像仍需要進行比較。 – justin 2012-04-23 08:29:06

+0

你可以給一些示例代碼 – 2012-04-23 08:29:45

+0

該鏈接爲sha1顯示如何從'NSData'獲取散列:http://stackoverflow.com/a/3469033/239380 – keegan3d 2012-04-23 08:30:55