Matlab图像的平移,旋转,缩放,裁剪

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

%%------------------------Matlab图像的平移旋转缩放裁剪-------------------------------

%-------------------头文件-----------------------------

clc ; %清屏幕

clear ; %删除所有的变量

close all ; %将所有打开的图片关掉

%--------------------图像平移 imtranslate--------------------------

A = imread('1.jpg') ;

subplot( 1, 3, 1 ) ;

imshow( A ) ;

title( '原图' ) ;

%向下平移135个像素向右平移125个像素 数值为负数时移动方向相反

B = imtranslate( A, [ 135, 125 ] ) ;

subplot( 1, 3, 2 ) ;

imshow( B ) ;

title( '图1' ) ;

%默认情况下imtranslate是在原始图像的边界或限制内显示转换后的图像。这导致某些移位的图像被剪切。设置'OutputView'参数为'full'可以防止剪切平移的图像。

C = imtranslate( A, [ 135, 125 ], 'OutputView', 'full' ) ;

subplot( 1, 3, 3 ) ;

imshow( C ) ;

title( '图2' ) ;

效果对比图

%----------------------图像旋转 imrotate----------------------------

X = imread('3.jpg');

subplot( 1, 3, 1 ) ;

imshow( X ) ;

title( '原图' ) ;

Y1 = imrotate( X, 30 ) ; %将图像逆时针旋转30° 数值为负数时旋转方向相反

subplot( 1, 3, 2 ) ;

imshow( Y1 ) ;

title( '图1' ) ;

Y2 = imrotate( X, 30, 'crop' ) ; %旋转30°并剪切图像使得到的图像和原图像大小一致

subplot( 1, 3, 3 ) ;

imshow( Y2 ) ;

title( '图2' ) ;

效果对比图

%-------------------图像缩放 imresize------------------------------

M = imread('2.jpg');

figure ; %图像的缩放不能利用图形窗口分割显示在一个窗口所以用figure新建窗口

imshow( M ) ;

title( '原图' ) ;

N1 = imresize( M, 2 ) ; %将图像放大2倍

figure ;

imshow( N1 ) ;

title( '图1' ) ;

N2 = imresize( M, 0.5 ) ; %将图像放大0.5倍

figure ;

imshow( N2 ) ;

title( '图2' ) ;

效果对比图

%---------------------------图像裁剪 imcrop--------------------

P = imread('4.jpg');

% 设置裁剪区域area四个数值分别表示裁剪区域的左上顶点坐标[50,20]宽度150高度100

%图像本身以左上角顶点为原点向下向右建立坐标系

area = [50, 20 ,150, 100] ;

subplot( 1, 2, 1 ) ;

imshow( P ) ;

title( '原图' ) ;

rectangle('Position', area, 'LineWidth', 2, 'EdgeColor', 'r') %用rectangle创建矩形显示剪切区域

Q = imcrop( P, area ) ; %裁剪

subplot( 1, 2, 2 ) ;

imshow( Q ) ;

title( '图1' ) ;

%如不加参数area将使用鼠标在原图像上划矩形框的方法来实现图像的剪裁双击确定后所划矩形框内的图像将在新窗口中输出

R = imcrop( P ) ;

figure;

imshow( R ) ;

title( '自由裁剪' ) ;

效果对比图

%-------------------图像翻转 flip------------------

H = imread('5.jpg');

subplot( 1, 3, 1 ) ;

imshow( H ) ;

title( '原图' ) ;

T1 = flip( H , 1 ) ; %参数1表示上下翻转

subplot( 1, 3, 2 ) ;

imshow( T1 ) ;

title( '上下翻转' ) ;

T2 = flip( H , 2 ) ; %参数2表示左右翻转

subplot( 1, 3, 3) ;

imshow( T2 ) ;

title( '左右翻转' ) ;

效果对比图

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“Matlab图像的平移,旋转,缩放,裁剪” 的相关文章