gpt4 book ai didi

python - 将 Matlab 图叠加到 Python 图/图像上

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:08 24 4
gpt4 key购买 nike

我想比较使用 Python(使用 matplotlib)获得的条形图和 Matlab 函数的绘图。为此,我考虑将 Matlab 绘图叠加在条形图的图像上。

但是我对 matlab (也是 python)很陌生,所以我不知道该怎么做。我一直在研究与此主题相关的几个问题,但我真的不明白我应该做什么。

Bargraph from Python

A1 = 80;
A2 = 72;
B1 = 470;
B2 = 220;
D1 = 500;
D2 = 700;
T = 0.136994238205;
X = -60:0.1:60;
Y1 = A1*sqrt(D1*pi)*exp(-(X.^2)/(4*D1*T)) + B1*exp(-(X.^2)/(4*D1*T));

img = imread('bar2.png');

imagesc(X,Y1,flipud(img));
hold on;
plot(X,Y1,'r','linewidth',1.5);
set(gca, 'ydir', 'normal');

这是我尝试过的代码,但显然它不起作用,我只是试图复制和理解此处其他问题中给出的代码。如何将此函数 plot(X,Y1) 叠加在条形图上?我知道我应该展示更多的编码工作,但我不知道如何解决这个问题,并且在网上我找不到任何有用的东西。一般情况下如何叠加?

有没有办法调整它,因为看起来我应该翻译它。这就是我得到的 Plot over Bar Graph

最佳答案

如果您有两个图形(例如 .png 文件)并且想要叠加图像,请使用 Blend()。下面的代码将叠加“images2/”文件夹中的所有图像,并为您提供单个最终图像。

如果混合更多图像,图像的质量(颜色、亮度、对比度)可能会下降。使用 ImageEnhance 来提高图像质量。可以调整 alpha 值以获得完美的混合。

import Image
import os
import cv2
import ImageEnhance
listing = os.listdir("images2/")
new_img = Image.new("RGBA", (800, 600), "white")

for file in listing:
im = Image.open(path1 + file)
new_img = Image.blend(im, new_img, 2.0)
new_img = Image.blend(new_img,im,0.5)

enhancer = ImageEnhance.Color(new_img)
new_img = enhancer.enhance(3)
enhancer = ImageEnhance.Contrast(new_img)
new_img = enhancer.enhance(2)
new_img.save("new008.png","PNG")

关于python - 将 Matlab 图叠加到 Python 图/图像上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37838078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com