matlab坐标移动

matlab中能否实现坐标的部分镜像,并把坐标原点移动到镜像的图像处

img

  1. 坐标系的部分镜像

下面的示例代码使用二元运算符.*.^对读取的图像的部分进行镜像操作,实现坐标系的部分镜像:

% 读取图片
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);

这个代码将以图片的长宽比自适应显示,显示出图片的部分镜像

  1. 坐标原点的移动

下面的示例代码读取一个图像,并将坐标原点移动到一个新点,并绘制一条将两个点相连的线:

% 读取图片
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中实现坐标的部分镜像,并将坐标原点移动到镜像的图像处的示例代码。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7724281
  • 这篇博客也不错, 你可以看下Matlab读取图像,并将该图像转换为灰度图像
  • 除此之外, 这篇博客: 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])
    
  • 您还可以看一下 魏伟老师的MATLAB数据分析与统计课程中的 数据的极差归一化变换小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^