python - 无法从对数比率矩阵中获取最大值
问题描述
我正在尝试标准化对数比率的矩阵,所以为了做到这一点,我想找到矩阵的最大值。但我得到了无限,这是不可能的。
我写的代码:
import imageio as im
import numpy as np
imagepath1 = 'Andasol_09051987.jpg'
imagepath2 = 'Andasol_09122013.jpg'
image1 = im.imread(imagepath1)
image2 = im.imread(imagepath2)
Ds = np.abs(image1 - image2)
Dl = np.abs(np.log(image2+1)-np.log(image1+1))
Dsmax = Ds.max()
Dsmin = Ds.min()
Ds = ((Ds - Dsmax)/(Dsmax - Dsmin))*255
Dlmax = np.amax(Dl)
Dlmin = Dl.min()
Dl = ((Dl - Dlmax)/(Dlmax - Dlmin))*255
对于减法 Ds 部分,一切正常,但 Dl 部分不起作用。Dlmax 的值是无限的。
并用于计算对数比
Dl = np.abs(np.log(image2+1)-np.log(image1+1))
它有一个警告 RuntimeWarning: 除以零在日志中遇到 Dl = np.abs(np.log(image2+1)-np.log(image1+1))
我真的想避免除以 0,这就是为什么我给每个像素加 1。
两个图像都是灰度的,所以每个像素的值从 [0 255] 变化
解决方案
推荐阅读
- javascript - 如何在jQuery中获取属性值?
- caching - Apache 无缓存标志
- asp.net - 为什么应用程序 user.id 与 _db.Users id 不同
- oracle - Oracle xmlTransform 返回 SQL 错误 [6502] [65000]: ORA-06502: PL/SQL: numeric or value error: 字符串缓冲区太小
- ruby - Cocoapods pod 初始化
- python - 在矩阵 Python 中迭代
- python - 如何通过从数据框分组来创建箱线图?[Python]
- java - 使用 spring-boot-maven-plugin 创建 docker 映像运行命令行参数,例如“apt-get install libfontconfig1”
- c++ - Cython:C++ `std::complex 的转换向量
` to C `双重复数` - python - 并行运行函数并使用队列获取输出