matlab中imread函数读取图片后图片旋转了90°,怎么调整
时间: 2024-09-26 19:12:32 浏览: 223
在MATLAB中,`imread` 函数默认会按照图像文件的EXIF旋转信息来加载图片,如果图片被旋转了90度,你可以通过以下步骤来调整:
1. **检查旋转角度**:首先确定图片是否真的顺时针旋转了90度,可以使用 `imrotate` 或 `imflip` 函数尝试旋转90度查看效果。
```matlab
% 假设 'image.jpg' 是待处理的图片
original_image = imread('image.jpg');
rotated_90 = imrotate(original_image, -90); % 使用负角度旋转逆操作
figure; subplot(1,2,1), imshow(original_image), title('Original'); subplot(1,2,2), imshow(rotated_90), title('Rotated 90 degrees');
```
2. **确认旋转方向**:观察对比两幅图,如果旋转后的图像看起来是对的,那么说明原始图片确实被错误地旋转了。
3. **修改旋转设置**:如果你知道图片实际上是逆时针旋转了90度,并且需要恢复原状,可以在读取时指定 `ReadOrientation` 参数为 `'auto'` 或 `'1'`(代表逆时针旋转90度)。
```matlab
correct_image = imread('image.jpg', 'ReadOrientation', 'auto');
```
4. **保存调整后的图片**:最后,如果你想保存这个调整后的图片,可以使用 `imwrite` 函数:
```matlab
imwrite(correct_image, 'corrected_image.jpg');
```
如果确认不是旋转90度而是其他角度,你可以相应地调整 `-90` 的数值。
阅读全文