def calcWlBox(img, blockSize, boxSize):
resize=5
img=cv2.resize(img,None,fx=resize,fy=resize,interpolation = cv2.INTER_CUBIC)
blockSize=blockSize*resize
boxSize=boxSize*resize
N,M=img.shape
wl=100*np.ones((img.shape[0]/boxSize,img.shape[1]/boxSize))
ii=-1
for i in xrange(blockSize/2,N-blockSize/2,boxSize):
ii += 1
if ii>=N/boxSize:
break
a=i-blockSize/2
b=a+blockSize
jj=-1
for j in xrange(blockSize/2,M-blockSize/2,boxSize):
jj += 1
if jj>=M/boxSize:
break
c=j-blockSize/2
d=c+blockSize
wl[ii,jj]=blkwl(img[a:b,c:d])
gaussianBlurSigma=4; gaussian_block=9
wl=cv2.GaussianBlur(wl,(gaussian_block,gaussian_block),gaussianBlurSigma,gaussianBlurSigma)
return wl/resize
评论列表
文章目录