将图像划分为python中的5×5块并计算每个块的直方图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将图像划分为python中的5×5块并计算每个块的直方图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2008字,纯文字阅读大概需要3分钟。
内容图文
使用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中的5×5块并计算每个块的直方图全部内容,希望文章能够帮你解决将图像划分为python中的5×5块并计算每个块的直方图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。