【发布时间】:2016-04-07 19:55:08
【问题描述】:
好的,所以我手动将 MATLAB 转换为 Python,但我无法转换某些 sn-ps,因为我的 Python 不是那么好
我有这张从一段 MATLAB 代码中取出的黑白图像。在 MATLAB 中,它的尺寸是(根据 size 函数):1944 2592
我将此图像保存为 .jpg 并使用以下代码在 Python 中打开:
img = Image.open("csm1.jpg")
img = np.array(img)
print img
我得到的输出为:
[[[255 255 255]
[255 255 255]
[255 255 255]
...,
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...,
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...,
[255 255 255]
[255 255 255]
[255 255 255]]
...,
[[255 255 255]
[255 255 255]
[255 255 255]
...,
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...,
[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...,
[255 255 255]
[255 255 255]
[255 255 255]]]
[[ 0 0 0]
[ 0 0 1]
[ 0 0 2]
...,
[571 812 0]
[571 812 1]
[571 812 2]]
我不明白 MATLAB 中的 2D 黑白照片如何在 Python 中变成完全白色的 3D 图像。我也附上了照片。有人可以帮忙吗?谢谢!
【问题讨论】:
-
您能否包括用于保存此文件的 MATLAB 代码以及
img.shape的输出? -
@Suever I used
figure, imshow' and then saved it as a .jpg from the MATLAB window.img.shape` 给了我一个输出:(572, 813, 3)in Python -
您应该使用
imwrite直接将图像数据写入文件。从图中保存会在图像周围节省大量空白 -
事实上,当您在堆栈溢出的白色背景之外查看图像时,您甚至可以看到图像周围的白色。因此,您应该期望加载的图像在第一组值中应该有很多白色。
-
感谢@Suever 完美运行。我现在将这个问题修改为代码后面的下一个问题