编程语言
首页 > 编程语言> > 将图像划分为python中的5×5块并计算每个块的直方图

将图像划分为python中的5×5块并计算每个块的直方图

作者:互联网

使用Python,我必须:

>将Test_Image和Reference_image划分为5×5块,
>计算每个块的直方图,并将其与另一个图像中的相同块进行比较.
例如:image1(1,1)with image2(1,1).
>比较两个图像之间的相似性(应该是变换不变的).

到目前为止,我使用hist = numpy.histogram(image,bins = 256)计算了整个图像的直方图

我想分割图像,然后计算所有这些块的直方图.我也想用Bhattacharya的系数来衡量相似性.

任何人都可以指导我如何通过这个?提前致谢 :)

解决方法:

不确定你是否正在寻找这样的东西,
这是蛮力版本.它可能很慢.但它完成了这项工作
你必须决定如何处理边界.
除非窗口完全适合,否则不包括边界

import numpy as numpy

grey_levels = 256
# Generate a test image
test_image = numpy.random.randint(0,grey_levels, size=(11,11))

# Define the window size
windowsize_r = 5
windowsize_c = 5

# Crop out the window and calculate the histogram
for r in range(0,test_image.shape[0] - windowsize_r, windowsize_r):
    for c in range(0,test_image.shape[1] - windowsize_c, windowsize_c):
        window = test_image[r:r+windowsize_r,c:c+windowsize_c]
        hist = numpy.histogram(window,bins=grey_levels)

下面是结果,完整的图像在最后.
r,c代表窗口的顶角

r=0,c=0
[[ 63 173 131 205 239]
 [106  37 156  48  81]
 [ 85  85 119  60 228]
 [236  79 247   1 206]
 [ 97  50 117  96 206]]

r=0,c=5
[[108 241 155 214 183]
 [202   2 236 183 225]
 [214 141   1 185 115]
 [  4 234 249  95  67]
 [232 217 116 211  24]]

r=5,c=0
[[179 155  41  47 190]
 [159  69 211  41  92]
 [ 64 184 187 104 245]
 [190 199  71 228 166]
 [117  56  92   5 186]]

r=5,c=5
[[ 68   6  69  63 242]
 [213 133 139  59  44]
 [236  69 148 196 215]
 [ 41 228 198 115 107]
 [109 236 191  48  53]]

[[ 63 173 131 205 239 108 241 155 214 183  42]
 [106  37 156  48  81 202   2 236 183 225   4]
 [ 85  85 119  60 228 214 141   1 185 115  80]
 [236  79 247   1 206   4 234 249  95  67 203]
 [ 97  50 117  96 206 232 217 116 211  24 242]
 [179 155  41  47 190  68   6  69  63 242 162]
 [159  69 211  41  92 213 133 139  59  44 196]
 [ 64 184 187 104 245 236  69 148 196 215  91]
 [190 199  71 228 166  41 228 198 115 107  82]
 [117  56  92   5 186 109 236 191  48  53  65]
 [177 170 114 163 101  54  80  25 112  35  85]]

标签:python-idle,python,python-2-7,image-processing,computer-vision
来源: https://codeday.me/bug/20191005/1855964.html