概述
我正在使用mahotas库对卫星图像(250x200像素)进行纹理分析(GLCM)。GLCM计算在窗口大小内进行。因此,对于滑动窗口的两个相邻位置,我们需要从头开始计算两个共现矩阵。我读到我可以设置步长,以避免计算重叠区域的GLCM。我提供了下面的代码。在#Compute haralick features
def haralick_feature(image):
haralick = mahotas.features.haralick(image, True)
return haralick
img = 'SAR_image.tif'
win_s=32 #window size
step=32 #step size
rows = img.shape[0]
cols = img.shape[1]
array = np.zeros((rows,cols), dtype= object)
harList = []
for i in range(0, rows-win_s-1, step):
print 'Row number: ', r
for j in range(0, cols-win_s-1, step):
harList.append(haralick_feature(image))
harImages = np.array(harList)
harImages_mean = harImages.mean(axis=1)
对于上面的代码,我将窗口和步长设置为32。代码完成后,我得到了一个尺寸为6×8(而不是250×200)的图像,因为步长设置为32,这是有意义的。在
所以,我的问题是:通过设置步长(避免在重叠区域进行计算以及代码速度更快),我是否可以从某种程度上推导出尺寸为250 x 200的整个图像的GLCM结果,而不是有一个子集(6 x 8维)?或者我别无选择,只能用普通的方式(不设置步长)在图像上循环?在
最后
以上就是强健白猫为你收集整理的python编码尺寸_计算窗口和尺寸的全部内容,希望文章能够帮你解决python编码尺寸_计算窗口和尺寸所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复