我有一些图像,我想计算Minkowski/box count dimension来确定图像中的分形特征。下面是两个示例图像:

10.jpg:

24.jpg:

我使用以下代码计算分形维数:import numpy as np

import scipy

def rgb2gray(rgb):

r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]

gray = 0.2989 * r + 0.5870 * g + 0.1140 * b

return gray

def fractal_dimension(Z, threshold=0.9):

# Only for 2d image

assert(len(Z.shape) == 2)

# From https://github.com/rougier/numpy-100 (#87)

def boxcount(Z, k):

S = np.add.reduceat(

np.add.reduceat(Z, np.arange(0, Z.shape[0], k), axis=0),

np.arange(0, Z.shape[1], k), axis=1)

# We count non-empty (0) and non-full boxes (k*k)

return len(np.where((S > 0) & (S < k*k))[0])

# Transform Z into a binary array

Z = (Z < threshold)

# Minimal dimension of image

p = min(Z.shape)

# Greatest power of 2 less than or equal to p

n = 2**np.floor(np.log(p)/np.log(2))

# Extract the exponent

n = int(np.log(n)/np.log(2))

# Build successive box sizes (from 2**n down to 2**1)

sizes = 2**np.arange(n, 1, -1)

# Actual box counting with decreasing size

counts = []

for size in sizes:

counts.append(boxcount(Z, size))

# Fit the successive log(sizes) with log (counts)

coeffs = np.polyfit(np.log(sizes), np.log(counts), 1)

return -coeffs[0]

I = rgb2gray(scipy.misc.imread("24.jpg"))

print("Minkowski–Bouligand dimension (computed): ", fractal_dimension(I))

从我读过的文献来看,有人认为自然场景(如24.jpg)在本质上更具分形性,因此应该具有更大的分形维数值

它给我的结果与文献所暗示的相反:10.jpg:1.259

24.jpg:1.073

我希望自然图像的分形维数大于城市图像的分形维数

我计算代码中的值是否不正确?或者我只是不正确地解释结果?

python艺术分形数_Python分形盒计数-分形维数相关推荐

  1. python判断阿姆斯特朗数_Python 程序检查阿姆斯特朗数

    Python 程序检查阿姆斯特朗数 在此示例中,您将学习检查n位整数是否是Armstrong数字. 要理解此示例,您应该了解以下Python编程主题: 一个正整数称为阿姆斯特朗阶数,n如果abcd.. ...

  2. python分形算法_python 分形 | 学步园

    代码如下: #!/usr/bin/env python # -*-coding:UTF-8-*-# from common import * import Image, ImageFilter, ma ...

  3. python矩阵行数_python查看矩阵的行列号以及维数方式

    print(X.shape):查看矩阵的行列号 print(len(X)):查看矩阵的行数 print(X.ndim):查看矩阵的维数 1 查看矩阵的行列号 2 查看矩阵的行数 3 查看矩阵的维数 补 ...

  4. python分解完数_Python练习题 014:完数

    [Python练习题 014] 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. -------------------- ...

  5. python excel行数_Python:打开现有的Excel文件并计算工作表中的行数

    我有一个现有的Excel文件.我想加载那个并获取此工作表中的行数,以便稍后写入此工作表的下一行并再次保存.我收到以下错误消息: AttributeError: 'Worksheet' object h ...

  6. python 最小硬币数_Python之动态规划(最少硬币数找零)

    完整代码: # 动态规划最少硬币数找零 def dpMakeChange(coinValueList, change, minCoins, coinsUsed): for cents in range ...

  7. python pandas 行数_Python Pandas:增加最大行数

    我正在处理一个大文本文件(500k行),格式如下: S1_A16 0.141,0.009340221649748676 0.141,4.192618196894668E-5 0.11,0.014122 ...

  8. python检验阿姆斯特朗数_python 之九九乘法表,润年,奇偶数,阿姆斯特朗数判断分享...

    九九乘法表: for i in range(1, 10): for j in range(1, i + 1): print(j, "x", i, "=", i ...

  9. python数组取数_python 取数组

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python中计算一个多维数组的任意百分比分位数,只需用np.percenti ...

  10. python 文件行数_python—文件和数据(文件行数 文件字符分布)

    文件行数 描述 打印输出附件文件的有效行数,注意:空行不计算为有效行数. 文件下载地址: 链接:https://pan.baidu.com/s/1xURpGrALY0aZaoIEZI1LpA 提取码: ...

最新文章

  1. 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案
  2. BZOJ 3237: [Ahoi2013]连通图
  3. 我的模块加载系统 v17的入门教程2
  4. leetcode 714. 买卖股票的最佳时机含手续费(dp)
  5. 如何对第一个Vue.js组件进行单元测试
  6. Hello IPv6
  7. 1.5编程基础之循环控制 26 统计满足条件的4位数个数 python
  8. 金融数据分析与挖掘实战练习-1.9
  9. matlab 读取图片后分区域编号_你的第一个有限元求解器——仅十行MATLAB代码
  10. 不知道STAR法则还敢去面试?备受500强HR推崇的STAR法则详解
  11. Oracle PLM,协同研发的产品生命周期管理平台
  12. springCloud报错No instances available
  13. 如何下载风云卫星数据?
  14. Python学习笔记4---类和对象
  15. 部署k8s集群(k8s集群搭建详细实践版)
  16. 休眠后网络无法自动连接——网卡属性没有电源管理选项
  17. Cesium开发:关于加载CGCS2000切片
  18. 2021年低压电工试题及答案及低压电工复审模拟考试
  19. ArcGIS server使用动态工作空间的服务发布及利用ArcGIS API for Javascript添加动态图层
  20. 面试中如何去回答原型链这个问题的思考

热门文章

  1. Proximal Algorithms
  2. MATLAB智能算法
  3. nifi从入门到实战(保姆级教程)——环境篇
  4. 计算机财务管理财务模型实验报告,《计算机财务管理》课程介绍
  5. 微信小程序 公众号 订阅消息 模板 正则 参数校验
  6. 阿里云短信接口配置教程
  7. 专门用来保存图片生成图片链接的工具博文
  8. C#数据库教程2-ADO.NET常用SQL语句
  9. presscad排样lisp_PRESSCAD统赢使用技巧(二)
  10. Spring5,最全教程,带你认识IOC容器和AOP切面