matlab中能否实现坐标的部分镜像,并把坐标原点移动到镜像的图像处
下面的示例代码使用二元运算符.*
和.^
对读取的图像的部分进行镜像操作,实现坐标系的部分镜像:
% 读取图片
im = imread('pic.jpg');
% 将对角线和右三分之一部分镜像
[m,n,~] = size(im);
im(1:n/3,:) = flipud(im(1:n/3,:));
im(:,n:-1:n/2) = fliplr(im(:,n:-1:n/2));
% 绘图
imagesc(im);
这个代码将以图片的长宽比自适应显示,显示出图片的部分镜像
下面的示例代码读取一个图像,并将坐标原点移动到一个新点,并绘制一条将两个点相连的线:
% 读取图片
im = imread('pic.jpg');
% 将坐标原点移动到(300,200)
x0 = 300;
y0 = 200;
imshow(im);
hold on;
plot(x0,y0,'ro');
% 绘制一条连接原点和新点的线
plot([1,x0],[1,y0],'r-');
这个代码将读取一张图片并打开它,在其中添加了一个点来表示新的坐标原点。然后,使用plot()
函数绘制出连接原坐标原点和新坐标原点的直线。
以上就是MATLAB中实现坐标的部分镜像,并将坐标原点移动到镜像的图像处的示例代码。
不知道你这个问题是否已经解决, 如果还没有解决的话:% colorbar将颜色条添加到坐标轴对象中,若该坐标轴包含一个图像对象,则添加的颜色将指示出该图像中不同颜色的数据值
% 对于了解被现实图像的灰度级别有用
i=imread('E:\a_matlab_file\picture\sky.jpeg');
imshow(i,[]);
colorbar
i=imread('E:\a_matlab_file\picture\sky.jpeg');
imshow(i);
colorbar
% imshow(i,[])-->imshow(i,[0 255])
% imshow(i)-->imshow(i,[0 1])