3

我有一个简单的代码可以在 Matlab 中显示图像。我imread()用来阅读它并imshow()展示它。下面的代码,结果没有正确显示。希望可以有人帮帮我。

img = imread('/home/samuelpedro/Desktop/API - Projecto/coimbra_aerea.jpg');
figure, imshow(img);

生成的图像如下。 在此处输入图像描述

另外,如果我选择将其保存为新的 jpg 文件,则它会正确保存。

更新 1:

奇怪的是,如果我选择在首选项>图像处理中显示轴,它会被纠正

4

1 回答 1

3

锁定您的屏幕截图,x 和 y 刻度丢失。它们应该出现在 Matlab 的标准配置中。也许在 Matlab 配置中有些东西搞砸了。尝试使用一个干净的新~/.matlab文件夹(之前重命名旧文件夹)来执行此操作。

或者......再次从你的屏幕截图来看,这看起来像后台的 Ubuntu/Unity。Unity 需要加速 (OpenGL),这对于某些 Linux 图形驱动程序可能会随机出现错误。您可能想尝试在“干净”的 X 服务器(可能是 twm 环境)中启动 matlab 以排除这种情况。

将图像保存为(未压缩)位图 (bmp) 并使用 imread 读取。如果 jpg 被 imread 例程弄乱了,这应该排除这种情况。

最后但并非最不重要的一点是,磁盘上 jpg 的损坏副本,一些翻转的位。在文件的副本上运行 md5sums。

于 2012-12-04T16:28:08.553 回答