MATLAB编程:图像垂直翻转,水平翻转,提取画面的一部分,和图像亮度调节

发布网友 发布时间:2022-04-24 14:04

我来回答

1个回答

热心网友 时间:2023-10-15 14:48

I=imread('5L.bmp');
figure,imshow(I)

R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);

R1= flipud(R); % 上下翻转
G1=flipud(G);
B1= flipud(B);
I1(:,:,1)=R1;
I1(:,:,2)=G1;
I1(:,:,3)=B1;
figure,imshow(I1)

R2= fliplr(R); % 左右翻转
G2= fliplr(G);
B2= fliplr(B);
I2(:,:,1)=R2;
I2(:,:,2)=G2;
I2(:,:,3)=B2;
figure,imshow(I2)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I = imread('5L.bmp');
c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];
% 这里表示你选择的多边形的顶点坐标。本例表示的多边形为一个六边形,顶点坐标依次为:(222,21),(272,21),(300,75),(270,121),(221,121),(194,75)。你可以根据自的实际需要改变。

BW = roipoly(I,c,r); % 获以一个感兴趣区域
figure, imshow(I)

R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
R1=immultiply(R,BW);
G1=immultiply(G,BW);
B1=immultiply(B,BW);
I1(:,:,1)=R1;
I1(:,:,2)=G1;
I1(:,:,3)=B1;
figure,imshow(I1) % 感兴趣区域图像

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
图像增强的方法很多,常用的有immultiply(乘法函数增强图像)、imadjust(通过直方图变换调整对比度)、histeq(直方图均衡化)等。

最简单的的可以给图像乘以一个常数。
I=imread('5L.bmp');
figure,imshow(I)
I1=uint8(I*1.5);
figure,imshow(I1)

imadjust和histeq你查下matlab的帮助。根据你的实际需要进行图像处理。因为我不知道你的图像是灰度还是彩色,需要什么样的效果。这里就不举例了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com