opencv新人一枚,作比赛需要用到灰度图的相似度比较。但是折腾了一天还是没有写出来大概了解了一下opencv在python下的API,但是还是有许多不明白的地方。我的参考资料:http://answer...
opencv新人一枚,作比赛需要用到灰度图的相似度比较。
但是折腾了一天还是没有写出来
大概了解了一下opencv在python下的API,但是还是有许多不明白的地方。
我的参考资料:
http://answers.opencv.org/questi ... lar-two-images-are/
首先,我在网站上找到了一个两个彩图相似度比较的python实现。
但是当我将它改写成灰度图版本的时候总是报错,改过一番之后不报错也不会输出任何东西。
下面是我尝试的灰度图版本:
import cv2.cv as cv
def compute_histogram(src, bins = 255 ):
#create images
#hsv = cv.CreateImage(cv.GetSize(src), 8, 3)
#hplane = cv.CreateImage(cv.GetSize(src), 8, 1)
#splane = cv.CreateImage(cv.GetSize(src), 8, 1)
#plane = cv.CreateImage(cv.GetSize(src), 8, 1)
#planes = [hplane, splane]
#cv.CvtColor(src, hsv, cv.CV_BGR2HSV)
#cv.Split(hsv, hplane, splane, vplane, None)
#compute histogram (why not use v_plane?)
hist = cv.CreateHist( (255,0), cv.CV_HIST_ARRAY,ranges = ((0, 255) ), uniform = True)
cv.CalcHist(src, hist) #compute histogram
cv.NormalizeHist(hist, 1.0) #normalize hist
return hist
start = time.time()
src1 = cv.LoadImage("~/Desktop/database/target.JPG", 0)
src2 = cv.LoadImage("~/Desktop/database/IMG_2535.JPG", 0)
hist1= compute_histogram(src1)
hist2= compute_histogram(src2)
sc= cv.CompareHist(hist1, hist2, cv.CV_COMP_CHISQR)
print sc
求教各路大大,应该如何实现python版本的灰度图图片相似度比较呢??
target
image
展开