Image 在图像中绘制矩形-Matlab

Image 在图像中绘制矩形-Matlab,image,matlab,shapes,Image,Matlab,Shapes,我需要在一个图像内画一个矩形,然后我想把矩形外的所有区域(由橙色喷枪填充)设置为黑色,并保存编辑 这是我的密码: %Draw rectangle shapeInserter = vision.ShapeInserter; rectangle = int32([100 100 800 800]); J = step(shapeInserter, imageA , rectangle); imshow(J); 我只是画了一个长方形,没有任何想法来完成我的工作,有什么帮助吗 图像尺寸为1000x1

我需要在一个图像内画一个矩形,然后我想把矩形外的所有区域(由橙色喷枪填充)设置为黑色,并保存编辑

这是我的密码:

%Draw rectangle
shapeInserter = vision.ShapeInserter;
rectangle = int32([100 100 800 800]);
J = step(shapeInserter, imageA , rectangle);
imshow(J);

我只是画了一个长方形,没有任何想法来完成我的工作,有什么帮助吗

图像尺寸为1000x1000

RickRoll = rgb2gray(imread('Rick-Roll3.png'));  % 800x800 image
I = zeros ([1000, 1000]);
I(101:100+800, 101:100+800) = RickRoll;


试试这个:
设置(轴,'Color',[0])
不是那样!,它将填充矩形!还可以为x轴和y轴添加数字!为什么不在用黑色填充所有内容后添加矩形呢?我需要矩形内的区域。保持原样..试试这个:
设置(轴,'Color',[0])
不是那样!,它将填充矩形!还可以为x轴和y轴添加数字!为什么不在用黑色填充所有内容后添加矩形呢?我需要矩形内的区域。如果你不是这个意思,那么你需要更好地重申你的问题。我需要位于矩形内的原始图像,不是白色!相同:/这是全部代码,您可以检查它:imageA=imread('2','bmp');%加载图像fftA=fft2(图像A);%fft fft移位=fft移位(fftA);%换档imshow(FFT换档);%Draw rect r=矩形('Position',[100100800800]);I=零([10001000]);I(100:100+800,100:100+800)=r;c(I);彩色地图灰色;
rectangle
函数只绘制一个矩形。如果您想从图像中的某个子范围中获取内容,只需在零图像的同一个子范围上复制该子范围即可。Rick Astley lol.+1。如果您链接到原始图像的来源并使其可复制,那么将图像上载到Stack imgur并在
imread
函数中使用URL会更好。如果您不是这个意思,那么您需要更好地重申您的问题。我需要位于rect中的原始图像,不是白色!相同:/这是全部代码,您可以检查它:imageA=imread('2','bmp');%加载图像fftA=fft2(图像A);%fft fft移位=fft移位(fftA);%换档imshow(FFT换档);%Draw rect r=矩形('Position',[100100800800]);I=零([10001000]);I(100:100+800,100:100+800)=r;c(I);彩色地图灰色;
rectangle
函数只绘制一个矩形。如果您想从图像中的某个子范围中获取内容,只需在零图像的同一个子范围上复制该子范围即可。Rick Astley lol.+1。如果您链接到原始图像的源并使其可复制,则将图像上载到Stack imgur并在
imread
函数中使用URL,效果会更好。