首页 > 解决方案 > 无法从对数比率矩阵中获取最大值

问题描述

我正在尝试标准化对数比率的矩阵,所以为了做到这一点,我想找到矩阵的最大值。但我得到了无限,这是不可能的。

我写的代码:

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

标签: pythonpython-3.x

解决方案


推荐阅读