圖片相似度演算法
① 圖像視頻相似度演算法
前段時間公司項目用到了語音識別,圖像識別,視頻識別等,其實不能說是識別,應該說是相似度對比吧,畢竟相似度對比還上升不了到識別哈,等以後有了更深的理解再來討論修改下!這次就當做一個總結吧!
其實它的原理就是一個把需要的特徵總結在一個指紋碼裡面,進行降維成指紋碼,假如個指紋碼一模一樣,那兩張圖片就想似了.下面有寫怎麼編譯成唯一標識,再用漢明距離計算兩個指紋碼的相似度.
圖片是採用phash演算法,一共分為四步吧.
1.將圖片縮放到16*16大小,這是我們選擇的合適的大小,假如寬高不一樣,直接將其壓到16*16,去掉細節,只保留宏觀;
2.圖片一共是16*16的,共256個像素,我們將圖片進行灰度化,灰度化就是只有黑白灰三種,從白到黑,一共分了255層;
3.灰度化之後將圖片進行DCT轉換(離散餘弦變化),因為為了識別有的圖片旋轉,這個DCT轉換是將圖片進行了一種壓縮演算法;
4.我們對這個演算法進行了優化,因為之前是計算像素的均值,我們為了更准確,我們取RGB,rgb一共分為255個像素,我們將255個像素分為16段,如果像素大於0-16記為0,17到32記為1,直到255,這樣就得到255位的二進制,這就是這張圖片的指紋碼.
得到唯一標識的指紋碼之後怎麼去計算像素度呢?
通過漢明距離比較兩個二進制距離,如果距離小於<10的話,我們就判定兩張圖片相似.如果兩個指紋碼(二進制)一模一樣,我們就判定兩個是一張圖片,或者類似;
視頻的話我們是通過ffmpeg(ff am pig),它是一個專門處理視頻的框架,可以從視頻中按針提取圖片.然後就按照圖片的相似度取對比了...
② 圖片相似度檢索
介個課題應該是比較有難度挑戰的。畢竟人工智慧的水平沒有這么發達。
現在的搜索引擎上面,「圖片搜索」實際上是「圖片解說文字搜索」,離真正的圖像相似檢索,還差得遠呢。
你的這一串數字應該是兩個圖像的不同特徵數字吧,比如顏色,輪廓,名稱等等,你滴數字長度很長,復雜的演算法也不現實。
可以分段求相關系數,具體可以參考概率統計里邊相關系數的概念,下面是matlab指令的corrcoef的效果
A =
1 2 3 4 5 6 7 8 9 10
>> B
B =
1.0000 2.0000 2.9000 4.0000 5.0000 6.2000 7.0000 8.0000 9.0000 10.0000
>> C=corrcoef(A,B)
C =
1.0000 0.9997
0.9997 1.0000
求相關系數,具體實現的時候可以有簡化或快速演算法,這都可以仔細斟酌的。
③ 利用matlab,想計算兩張圖片的相似度,要用到什麼函數或者演算法例如求特徵值用eigs,希望能告訴操作步驟
用歐氏距離可以表徵相似度。兩個圖相減再求平方和就可以。求和用sum()
④ C#怎麼來判斷2張圖片相似度
很麻煩,而且計算量很大,這個屬於人工智慧的范疇。
如果這「兩張相似圖片」可以規定很多前提,比如相同解析度,黑白,簡單幾何圖形。。。那麼可以用基本的演算法去算一下「相似度」, 也就是樓上說的,讀取兩張照片的像素點,然後遍歷去對比灰度差值。這些有很多現成的演算法,也有很多網站提供這方面的計算(直接調用API即可),但是只能得出數字化的「相似度」。
如果你要的就是兩張圖片像素點之間的差異,那麼就去找演算法即可實現。
看一參考這個網站:www.aforgenet.com 這個是國外比較知名的圖像處理的網站。
但是,兩張圖片如果尺寸不一呢? 如果比例不一樣呢? 如果有留白呢?彩色的呢?
所以目前最成熟的編程演算法也就是識別一下字母和數字(比如谷歌可以識別照片上的門牌號和街道號),人臉識別也只是拿幾個標本部位來大致判斷相似度(眼睛的大小,鼻樑的高度,臉頰的寬瘦和比例), 以人眼的標准完整的去比較兩張圖片是否一樣是很難的,目前應該還沒有這方面成熟的技術。
⑤ 有什麼可以對比兩張圖片得出相似度的軟體。
呵呵,這個軟體我還真有,DuplicatePhotoFinder-這個軟體不旦可以找相同圖片還可以找相似圖片的軟體喲
名字不一樣,大小不一樣都能找得出來。只要內容相同或相似!我經常用這個軟體清理我的圖片
⑥ 圖像相似度計算【python】
其中,G和S為兩張圖片的圖像顏色分布直方圖,N為顏色空間樣點數。這里使用分塊的方法計算相似度,用以提高各部分的特徵,防止圖片顏色相似導致計算的相似度高。
—————————————————————————————————————————————————————————————————
—————————————————————————————————————————————————————————————————
—————————————————————————————————————————————————————————————————
轉自另一位大佬,忘記地址了
⑦ 計算圖像相似度的演算法有哪些
SIM = Structural SIMilarity(結構相似性),這是一種用來評測圖像質量的一種方法。由於人類視覺很容易從圖像中抽取出結構信息,因此計算兩幅圖像結構信息的相似性就可以用來作為一種檢測圖像質量的好壞.
首先結構信息不應該受到照明的影響,因此在計算結構信息時需要去掉亮度信息,即需要減掉圖像的均值;其次結構信息不應該受到圖像對比度的影響,因此計算結構信息時需要歸一化圖像的方差;最後我們就可以對圖像求取結構信息了,通常我們可以簡單地計算一下這兩幅處理後的圖像的相關系數.
然而圖像質量的好壞也受到亮度信息和對比度信息的制約,因此在計算圖像質量好壞時,在考慮結構信息的同時也需要考慮這兩者的影響.通常使用的計算方法如下,其中C1,C2,C3用來增加計算結果的穩定性:
2u(x)u(y) + C1
L(X,Y) = ------------------------ ,u(x), u(y)為圖像的均值
u(x)^2 + u(y)^2 + C1
2d(x)d(y) + C2
C(X,Y) = ------------------------,d(x),d(y)為圖像的方差
d(x)^2 + d(y)^2 + C2
d(x,y) + C3
S(X,Y) = ----------------------,d(x,y)為圖像x,y的協方差
d(x)d(y) + C3
而圖像質量Q = [L(X,Y)^a] x [C(X,Y)^b] x [S(X,Y)^c],其中a,b,c分別用來控制三個要素的重要性,為了計算方便可以均選擇為1,C1,C2,C3為比較小的數值,通常C1=(K1 x L)^2, C2=(K2 xL)^2, C3 = C2/2, K1 << 1, K2 << 1, L為像素的最大值(通常為255).
希望對你能有所幫助。
⑧ 相片相似度在線測試,兩段語音相似度對比,什麼演算法識別率高
提起相片相似度在線測試,大家都知道,有人問兩段相似度對比,什麼演算法識別率高?另外,還有人想問在網上怎樣才找到跟自己相似度很高的照片,你知道這是怎麼回事?其實有沒有什麼軟體可以對兩張照片對比相似度的,下面就一起來看看兩段相似度對比,什麼演算法識別率高?希望能夠幫助到大家!
相片相似度在線測試
1、相片相似度在線測試:兩段相似度對比,什麼演算法識別率高?
可以用兩個軟體測試測試,說出同樣的一段話就好了,就知道哪個識別率好了,就像錄音轉文字助手就可以把轉換成文字。
點開里邊的錄音識別功能,說出你要測試的,就可以把轉成文字了,你可以去跟其他的比較一下。
2、相片相似度在線測試:在網上怎樣才找到跟自己相似度很高的照片
可以用識圖來檢索相似度高的圖片,而且成功率很高。照片相似度對比在線測試軟體。
識圖是圖片搜索近期推出的一項新功能。常規的圖片搜索,是通過輸入關鍵詞的形式搜索到互聯網上相關的圖片,而識圖則能實現用戶通過上傳圖片或輸入圖片的url地址,從而搜索到互聯網上與這張圖片相似的其他圖片,同時也能找到這張圖片相關的信息。
看到說可以用PS對比照片相似度,想知道怎麼做?我的是PS7.0的唔。。是比對人臉的相似度之類的。。聽人說是PS可以,自己不知道怎麼用。
看到說可以用PS對比照片相似度,想知道怎麼做?我的是PS7.0的
有沒有什麼軟體可以對兩張照片對比相似度的
照片的相似度?
這個問題太籠統了.夫妻相測試免費。
如果是想看看兩個一樣的照片有沒有什麼不同處的話,在PS里把一個直接拖到另一個裡面,然後在圖層里把上面的圖層透明度調小點,你會看到兩個照片的,沒重疊在一起的就是不同處,
如果你想看兩個照片的風格,或相機和相機參數,用PS沒相機自帶軟體好.
3、相片相似度在線測試:有沒有什麼軟體可以對兩張照片對比相似度的
1、Mix濾鏡。
IX濾鏡免費提供將近款默認濾鏡,包括景深濾鏡,散景濾鏡,經典紋理,漏光濾鏡,更多自定義編輯工具和完善的自定義編輯參數。MIX濾鏡是一款自定義手動編輯應用,在創造的過程中,能滿足對照片的想像。兩張照片 在臉比對。
2、光影術手。
光影術手為一款針對圖像畫質進行改善提升及效果處理的軟體;簡單、易用,不需要任何專業的圖像技術,就可以製作出專業膠片攝影的色彩效果,其具有許多獨特之處,如反轉片效果、黑白效果、數碼補光、沖版排版等,且其批量處理功能非常強大,是攝影作品後期處理、圖片快速美容、數碼照片沖印整理時必備的圖像處理軟體,能夠滿足絕大部分人照片後期處理的需要。
3、美圖秀秀。
美圖秀秀的圖片、美容、拼圖、場景、邊框、飾品等功能,可以1分鍾做出影樓級照片,還能一鍵分享到新浪微博、人人網、QQ空間等。
年4月推出美圖社交圈,鼓勵年輕人秀真我,讓社交更好看,美圖秀秀也從影像工具升級為社區。
4、圖。
圖(原圖精靈)是BeijingBaiNetcomScience&TechnologyCo.,Ltd的一款掌上美圖工具,致力於提供手機上圖片拍攝、美化、分享和雲端相冊的一站式圖片服務。
調節亮度、對比度、裁剪、旋轉翻轉圖片等等,對圖片基本的色彩校正和技術處理。採用曲線調節技術,用戶拖動滑桿即可達到。支持iOS及Android系統,已成為時下的圖片美化工具。
5、可牛影像。人臉相似度在線測試軟體。
可牛影像為一款強大的免費照片處理管理軟體。可牛影像內嵌上千張日歷、寶寶照、大頭貼、婚紗照、非主流場景,無須任何PS技巧識即可製作支持多圖場景,一張日歷、婚紗、寶寶照中可內嵌多張照片,製作效果很酷。軟體集成了超強人像美容及影樓智能人像柔焦美容,1秒鍾呈現朦朧藝術感覺,像冷藍、冷綠、暖黃、復古影樓,冷艷、唯美、風情。人臉相似度對比在線測試。
以上就是與兩段相似度對比,什麼演算法識別率高?相關內容,是關於兩段相似度對比,什麼演算法識別率高?的分享。看完相片相似度在線測試後,希望這對大家有所幫助!
⑨ C#灰度圖像通過相似度演算法找出相似度最高的圖片
這種以圖搜圖可以用感知哈希演算法,
第一步 縮小圖片尺寸
將圖片縮小到8x8的尺寸, 總共64個像素. 這一步的作用是去除各種圖片尺寸和圖片比例的差異, 只保留結構、明暗等基本信息.
第二步 轉為灰度圖片
將縮小後的圖片, 轉為64級灰度圖片.
第三步 計算灰度平均值
計算圖片中所有像素的灰度平均值
第四步 比較像素的灰度
將每個像素的灰度與平均值進行比較, 如果大於或等於平均值記為1, 小於平均值記為0.
第五步 計算哈希值
將上一步的比較結果, 組合在一起, 就構成了一個64位的二進制整數, 這就是這張圖片的指紋.
第六步 對比圖片指紋
得到圖片的指紋後, 就可以對比不同的圖片的指紋, 計算出64位中有多少位是不一樣的. 如果不相同的數據位數不超過5, 就說明兩張圖片很相似, 如果大於10, 說明它們是兩張不同的圖片.
具體的c#代碼可以看
usingSystem;
usingSystem.IO;
usingSystem.Drawing;
namespaceSimilarPhoto
{
classSimilarPhoto
{
ImageSourceImg;
publicSimilarPhoto(stringfilePath)
{
SourceImg=Image.FromFile(filePath);
}
publicSimilarPhoto(Streamstream)
{
SourceImg=Image.FromStream(stream);
}
publicStringGetHash()
{
Imageimage=ReceSize();
Byte[]grayValues=ReceColor(image);
Byteaverage=CalcAverage(grayValues);
Stringreslut=ComputeBits(grayValues,average);
returnreslut;
}
//Step1:Recesizeto8*8
privateImageReceSize(intwidth=8,intheight=8)
{
Imageimage=SourceImg.GetThumbnailImage(width,height,()=>{returnfalse;},IntPtr.Zero);
returnimage;
}
//Step2:ReceColor
privateByte[]ReceColor(Imageimage)
{
BitmapbitMap=newBitmap(image);
Byte[]grayValues=newByte[image.Width*image.Height];
for(intx=0;x<image.Width;x++)
for(inty=0;y<image.Height;y++)
{
Colorcolor=bitMap.GetPixel(x,y);
bytegrayValue=(byte)((color.R*30+color.G*59+color.B*11)/100);
grayValues[x*image.Width+y]=grayValue;
}
returngrayValues;
}
//Step3:Averagethecolors
privateByteCalcAverage(byte[]values)
{
intsum=0;
for(inti=0;i<values.Length;i++)
sum+=(int)values[i];
returnConvert.ToByte(sum/values.Length);
}
//Step4:Computethebits
privateStringComputeBits(byte[]values,byteaverageValue)
{
char[]result=newchar[values.Length];
for(inti=0;i<values.Length;i++)
{
if(values[i]<averageValue)
result[i]='0';
else
result[i]='1';
}
returnnewString(result);
}
//Comparehash
(stringa,stringb)
{
if(a.Length!=b.Length)
thrownewArgumentException();
intcount=0;
for(inti=0;i<a.Length;i++)
{
if(a[i]!=b[i])
count++;
}
returncount;
}
}
}
⑩ 急急急!求matlab圖像求二值圖像相似度,在線等!
圖像1和2為RGB圖,放在m文件夾下;直接輸入二值的話就不用im2bw了,pio是相似比
I1=imread('1.jpg');
I2=imread('2.jpg');
I1_bw=im2bw(I1);%%二值化
I2_bw=im2bw(I2);
[h,w]=size(I1_bw);%%獲取圖的寬高h/w
sum=0;
for i=1:h
for j=1:w
if I1_bw(i,j)==I2_bw(i,j)%%逐點比較相似
sum=sum+1;
end
end
end
pio=double(sum)/h/w;