Für die gleiche Matrix ist das Bild, das von der Funktion imshow() von Matplotlib und Matlab erzeugt wird, unterschiedlich. wie einige Parameter von imshow() in matplotlib ändern kann gleiches Ergebnis in MatlabWie erzeuge ich das gleiche Bild mit der Funktion von imshow() aus Matplotlib (Python) und Imshow() in Matlab?
%matlab
img = 255*rand(101);
img(:,1:50)=3;
img(:,52:101)=1;
img(:,51)=2;
trans_img=imtranslate(img,[3*cos(pi/3),3*sin(pi/3)]);
imshow(trans_img)
This is an image generated by matlab
#python
import numpy as np
import matplotlib.pyplot as plt
from mlab.releases import latest_release as mtl #call matlab function
img = 255 * np.random.uniform(0, 1, (101, 101))
img[:, 51:101] = 1
img[:, 0:50] = 3
img[:, 50] = 2
trans_img = mtl.imtranslate(img, [[3*math.cos(math.pi/3),3*math.sin(math.pi/3)]]
i = plt.imshow(trans_img, cmap=plt.cm.gray)
plt.show(i)
This is an image generated by matplotlib
Die trans_img Matrix ist in beiden Fällen gleich, aber die Bilder bekommen in Matlab und Python sind anders
Sie müssen viel genauer festlegen, welches Bild Sie erstellen und was genau zwischen den beiden Versionen ist. – BrenBarn
Entschuldigung, ich habe einige Details meines Codes aktualisiert, um diese Frage spezifischer zu machen. –