無555語 2020-03-29 12:19
浏览 523

python基于分形维数理论(地毯覆盖法)的多尺度图像增强代码输出为乱码

用python写了基于分形维数理论的多尺度图像增强代码,输出是乱码,请问是理论理解出问题了还是代码的问题?请大家指点~

以下是python代码

def enhance_image(IR_img):
IR_img = cv.cvtColor(IR_img, cv.COLOR_BGR2GRAY)

h, w = IR_img.shape
U1 = np.zeros([h, w])
B1 = np.zeros([h, w])
for i in range(h):
    for j in range(w):
        c = i - j
        if (c % 2) == 0:
            U1[i][j] = np.max(IR_img[i:i+3, j:j+3])
            B1[i][j] = np.min(IR_img[i:i+3, j:j+3])
        else:
            U1[i][j] = IR_img[i][j]
            B1[i][j] = IR_img[i][j]

A1 = U1 - B1
A1 = A1 / 2.0
A_1 = np.zeros([h, w])
A2 = np.zeros([h, w])
A3 = np.zeros([h, w])
K2 = np.zeros([h, w])
K3 = np.zeros([h, w])
# print('A1', A1)
for i in range(h):
    for j in range(w):
        A_1[i][j] = 3.0 * np.log(1 + A1[i][j])
        A2[i][j] = (A_1[i][j] + i * j / 2.0) / 2.0
        A3[i][j] = (A_1[i][j] + 2.0 * i * j / 2.0) / 3.0
        K2[i][j] = np.exp(-np.log(A_1[i][j]))
        K3[i][j] = np.exp(((np.log(A3[i][j]) * np.log(2.0)) - (np.log(A2[i][j]) * np.log(3.0))) / (np.log(2.0) - np.log(3.0)))
print('K3', K3)
mean_K23 = (K2 + K3) / 2.0
MFFK2 = K2 - mean_K23
MFFK2 = np.power(MFFK2, 2.0)
MFFK3 = K3 - mean_K23
MFFK3 = np.power(MFFK3, 2.0)
MFFK = MFFK2 + MFFK3
MFFK = MFFK.astype(np.uint8)
# print(MFFK)
cv.imshow('MFFK', MFFK)
return MFFK

    以下是乱码图和相关的原理

图片说明
图片说明
图片说明
图片说明
图片说明

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 双层网络上信息-疾病传播
    • ¥50 paddlepaddle pinn
    • ¥15 Stata 面板数据模型选择
    • ¥20 idea运行测试代码报错问题
    • ¥15 网络监控:网络故障告警通知
    • ¥15 django项目运行报编码错误
    • ¥15 请问这个是什么意思?
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏