python艺术分形数_Python分形盒计数-分形维数
我有一些图像,我想计算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分形盒计数-分形维数相关推荐
- python判断阿姆斯特朗数_Python 程序检查阿姆斯特朗数
Python 程序检查阿姆斯特朗数 在此示例中,您将学习检查n位整数是否是Armstrong数字. 要理解此示例,您应该了解以下Python编程主题: 一个正整数称为阿姆斯特朗阶数,n如果abcd.. ...
- python分形算法_python 分形 | 学步园
代码如下: #!/usr/bin/env python # -*-coding:UTF-8-*-# from common import * import Image, ImageFilter, ma ...
- python矩阵行数_python查看矩阵的行列号以及维数方式
print(X.shape):查看矩阵的行列号 print(len(X)):查看矩阵的行数 print(X.ndim):查看矩阵的维数 1 查看矩阵的行列号 2 查看矩阵的行数 3 查看矩阵的维数 补 ...
- python分解完数_Python练习题 014:完数
[Python练习题 014] 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. -------------------- ...
- python excel行数_Python:打开现有的Excel文件并计算工作表中的行数
我有一个现有的Excel文件.我想加载那个并获取此工作表中的行数,以便稍后写入此工作表的下一行并再次保存.我收到以下错误消息: AttributeError: 'Worksheet' object h ...
- python 最小硬币数_Python之动态规划(最少硬币数找零)
完整代码: # 动态规划最少硬币数找零 def dpMakeChange(coinValueList, change, minCoins, coinsUsed): for cents in range ...
- python pandas 行数_Python Pandas:增加最大行数
我正在处理一个大文本文件(500k行),格式如下: S1_A16 0.141,0.009340221649748676 0.141,4.192618196894668E-5 0.11,0.014122 ...
- python检验阿姆斯特朗数_python 之九九乘法表,润年,奇偶数,阿姆斯特朗数判断分享...
九九乘法表: for i in range(1, 10): for j in range(1, i + 1): print(j, "x", i, "=", i ...
- python数组取数_python 取数组
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python中计算一个多维数组的任意百分比分位数,只需用np.percenti ...
- python 文件行数_python—文件和数据(文件行数 文件字符分布)
文件行数 描述 打印输出附件文件的有效行数,注意:空行不计算为有效行数. 文件下载地址: 链接:https://pan.baidu.com/s/1xURpGrALY0aZaoIEZI1LpA 提取码: ...
最新文章
- 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案
- BZOJ 3237: [Ahoi2013]连通图
- 我的模块加载系统 v17的入门教程2
- leetcode 714. 买卖股票的最佳时机含手续费(dp)
- 如何对第一个Vue.js组件进行单元测试
- Hello IPv6
- 1.5编程基础之循环控制 26 统计满足条件的4位数个数 python
- 金融数据分析与挖掘实战练习-1.9
- matlab 读取图片后分区域编号_你的第一个有限元求解器——仅十行MATLAB代码
- 不知道STAR法则还敢去面试?备受500强HR推崇的STAR法则详解
- Oracle PLM,协同研发的产品生命周期管理平台
- springCloud报错No instances available
- 如何下载风云卫星数据?
- Python学习笔记4---类和对象
- 部署k8s集群(k8s集群搭建详细实践版)
- 休眠后网络无法自动连接——网卡属性没有电源管理选项
- Cesium开发:关于加载CGCS2000切片
- 2021年低压电工试题及答案及低压电工复审模拟考试
- ArcGIS server使用动态工作空间的服务发布及利用ArcGIS API for Javascript添加动态图层
- 面试中如何去回答原型链这个问题的思考