python和R中的GLCM:结果差异

我需要获取Python中R的GLCM calc_texture函数的结果。

我正在尝试使用skimage.feature.texture greycomatrix和greycoprops进行此操作,但是它不起作用。

 input
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    5    5    5
[3,]    1    6    1

 result=calc_texture(input,window_dims =c(1,1),shift 
          =matrix(unlist(list(c(0,1))),ncol=2,byrow = TRUE),na_opt="ignore",statistics=c("contrast"),n_grey = 8,na_val = NA)
result,1

     [,]    9    9   NA
[2,]    0    0   NA
[3,]   25   25   NA
 img=np.array([[1,4,7],[5,5,5],[1,6,1]])
img = img.astype(np.uint8)
rows,cols=img.shape
radius = 1
side = 2*radius + 1

distances = [1]
angles = [0]
prop= 'contrast'
dim = len(distances)*len(angles)

padded = np.pad(img,radius,mode='constant',constant_values=(np.nan,))


windows = util.view_as_windows(padded.copy(),(side,side))
feats = np.zeros(shape=(rows,cols,dim))

for row in range(rows):
    for col in range(cols):
        pixel_feats = []
        glcm = greycomatrix(windows[row,col,:,:],distances=distances,angles=angles,normed=False,levels=8)
        pixel_feats.extend([greycoprops(glcm,prop).ravel()])
        feats[row,:] = np.concatenate(pixel_feats)
print(feats[:,0])
[[ 5.83333333  3.         13.83333333]
 [10.16666667 11.33333333 18.16666667]
 [ 8.5         8.33333333  8.5       ]]

我需要使用python输入r的输出。

wr5279 回答:python和R中的GLCM:结果差异

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168221.html

大家都在问