在python中将图像划分为5x5块,并为每个块计算直方图

乔纳斯

使用Python,我必须:

  • 分割Test_ImageReference_image成5×5块,
  • 计算每个块的直方图,并将其与其他图像中的相同块进行比较。
    例如:image1(1,1)使用image2(1,1)
  • 比较两个图像之间的相似度(应该是不变的)。

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

我想分割图像,然后为所有这些块计算直方图。我也想使用巴塔查亚的系数来衡量相似度。

谁能指导我完成这一过程?提前致谢 :)

奎拉

不知道您是否正在寻找这样的东西,这是蛮力的版本。它可能很慢。但是它确实起作用。您必须决定如何处理边界。除非窗口正好适合,否则这将不包括边界

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]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中将5x5块转换为对角线框

来自分类Dev

如何计算图像中每个块的直方图,然后将它们连接起来?

来自分类Dev

计算每个图像块的平均值-Python

来自分类Dev

使用python将IP范围划分为1024个块

来自分类Dev

我如何使用 wxpython 在矩形块的矩阵 5x5 中显示 25 个像素值

来自分类Dev

将矩阵划分为块矩阵

来自分类Dev

如何将2D矩阵划分为块并将每个块乘以其中心元素?

来自分类Dev

如何在C ++中将数字划分为1个字节的块以通过串行蓝牙发送

来自分类Dev

使用Image :: Magick将图像拆分为较小的块,并获取每个块的相对位置

来自分类Dev

如何在Matlab中仅使用for循环将任何大小的图像划分为相等大小的块?

来自分类Dev

从管道读取块并为每个块执行命令

来自分类Dev

将图像分成 4x4 块并在 Python 中计算黑白像素的数量

来自分类Dev

谁的责任是将数据划分为PE或块?

来自分类Dev

C# 将矩阵划分为子块

来自分类Dev

Laravel 5评论块

来自分类Dev

PHP 如何从 5x5 网格中的用户输入计算路径?

来自分类Dev

在python中将点云划分为象限

来自分类Dev

在Rails 5中将大route.rb划分为多个文件

来自分类Dev

使用dplyr按组计算每个块?

来自分类Dev

Python列表分为多个块(向后)

来自分类Dev

Python列表分为多个块(向后)

来自分类Dev

在python-pillow中具有大于5x5的内核大小的卷积

来自分类Dev

将数据框/系列拆分为每个可能的块

来自分类Dev

在R中将向量拆分为不相等的块

来自分类Dev

在Shell脚本中将大文件拆分为较小的块

来自分类Dev

如何使用pandas和python将1列划分为5个段?

来自分类Dev

如何将一维numpy数组拆分为块,每个块的长度取决于条件

来自分类Dev

GDAL功能将大图像拆分为特定的块

来自分类Dev

在序言中解决Kakuro难题(5x5)

Related 相关文章

  1. 1

    如何在Java中将5x5块转换为对角线框

  2. 2

    如何计算图像中每个块的直方图,然后将它们连接起来?

  3. 3

    计算每个图像块的平均值-Python

  4. 4

    使用python将IP范围划分为1024个块

  5. 5

    我如何使用 wxpython 在矩形块的矩阵 5x5 中显示 25 个像素值

  6. 6

    将矩阵划分为块矩阵

  7. 7

    如何将2D矩阵划分为块并将每个块乘以其中心元素?

  8. 8

    如何在C ++中将数字划分为1个字节的块以通过串行蓝牙发送

  9. 9

    使用Image :: Magick将图像拆分为较小的块,并获取每个块的相对位置

  10. 10

    如何在Matlab中仅使用for循环将任何大小的图像划分为相等大小的块?

  11. 11

    从管道读取块并为每个块执行命令

  12. 12

    将图像分成 4x4 块并在 Python 中计算黑白像素的数量

  13. 13

    谁的责任是将数据划分为PE或块?

  14. 14

    C# 将矩阵划分为子块

  15. 15

    Laravel 5评论块

  16. 16

    PHP 如何从 5x5 网格中的用户输入计算路径?

  17. 17

    在python中将点云划分为象限

  18. 18

    在Rails 5中将大route.rb划分为多个文件

  19. 19

    使用dplyr按组计算每个块?

  20. 20

    Python列表分为多个块(向后)

  21. 21

    Python列表分为多个块(向后)

  22. 22

    在python-pillow中具有大于5x5的内核大小的卷积

  23. 23

    将数据框/系列拆分为每个可能的块

  24. 24

    在R中将向量拆分为不相等的块

  25. 25

    在Shell脚本中将大文件拆分为较小的块

  26. 26

    如何使用pandas和python将1列划分为5个段?

  27. 27

    如何将一维numpy数组拆分为块,每个块的长度取决于条件

  28. 28

    GDAL功能将大图像拆分为特定的块

  29. 29

    在序言中解决Kakuro难题(5x5)

热门标签

归档