gpt4 book ai didi

image - 如何使用 MATLAB 对图像上的矢量坐标进行插值?

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:56 24 4
gpt4 key购买 nike

例如,如果我有一个描述矩形的向量

xy=[165  88; 
401 88;
401 278;
165 278];

在图像上。

我怎样才能得到下面的向量

[165  88; % increase X -     hold y
166 88;
167 88;
... ;
399 88;
400 88;
401 88; % hold x - increase y
401 89;
401 90;
401 91;
... ;
401 276;
401 277;
401 278; % decrease X - hold y
400 278;
399 278;
398 278;
... ;
167 278;
166 278;
165 278; % hold x - decrease y
165 277;
165 276;
... ;
165 87];

使用 MATLAB 内置函数还是我需要使用 FOR 循环编写它?

该算法必须适用于具有 n 点和 xy 坐标的通用向量。

最佳答案

如果您有图像处理工具箱,您可以通过创建多边形图像然后找到轮廓来完成此操作:

xy=[165 88; 401 88; 401 278; 165 278];
%# create the image - check the help for impolygon for how to make sure that
%# your line is inside the pixel
img = poly2mask(xy(:,1),xy(:,2),max(xy(:,1))+3,max(xy(:,2))+3);
figure,imshow(img) %# show the image

%# extract the perimeter. Note that you have to inverse x and y, and that I had to
%# add 1 to hit the rectangle - this shows one has to be careful with rectangular
%# polygons
boundary = bwtraceboundary(logical(img),xy(1,[2,1])+1,'n',8,inf,'clockwise');

%# overlay extracted boundary
hold on, plot(boundary(:,2),boundary(:,1),'.r')

经过编辑以展示如何使用 bwtraceboundary 并警告矩形的像素偏移。

关于image - 如何使用 MATLAB 对图像上的矢量坐标进行插值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com