matlab 多边形转矩阵,matlab – 如何在矩阵或二进制图像中绘制多边形以便使用图像处理功能?...

我正在开发一个matlab程序,其中我使用多边形(凹面或凸面).我需要在多边形上使用imdilate或imerode等图像处理功能.为此,我应该将我的多边形转换为图像.我想知道是否有一种方法可以直接在二进制矩阵中绘制多边形(1为前景,0为背景)?

目前,我使用’getframe’,然后’frame2im’,然后使用’im2bw’函数来执行此操作.但它的缺点是我无法控制最终图像(=矩阵)的大小(即,将帧转换为图像时图像的大小,以像素为单位),因为matlab不会以像素为单位显示其图形(?).因此,每当有人在绘图上“放大”或“缩小”时,生成的矩阵(=图像)就会不同.

我的代码:

Polygon = [ 15 45 33 30 40 23 ; 9 9 24 15 13 13]';

figure(1); clf; patch(Polygon(:,1),Polygon(:,2),'black');

axis off

%convert the plot to binary image

frame = getframe(gca);

im =frame2im(frame);

level = graythresh(im);

bw = ~im2bw(im,level);

%draw the resulting image

imtool(bw)

%dilate the image

SE = strel('square',5);

bw2 = imdilate(bw,SE);

%draw the dilated image

imtool(bw2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值