问题:请求边缘被裁剪(1.顶部,2。左边,3。右边,4。底部),以及要移除的像素数量。 实现为函数:pic_new = crop_image(pic,direction,pixels);
如何使用指示的输入进行功能?我知道有一个名为imcrop()的函数,但我似乎无法让它工作。请帮忙。谢谢你的时间。
答案 0 :(得分:0)
但imcrop
是您需要使用的确切功能。在你的情况下,它应该是这样的:
首先,按坐标构建一个矩形,它的高度和宽度为:
x = 50
y = 50
height = 20
width = 20
然后,加载并裁剪图像:
I = imread('image.png');
I2 = imcrop(I, [x, y, height, width]);
imshow(I), figure, imshow(I2)
答案 1 :(得分:0)
你开始这样的函数定义:
function [out1, out2] = my_func(in1, in2, in3)
您可以根据变量值处理一系列行为,如下所示:
switch (x)
case 1
% Stuff for x==1
case 2
% Stuff for x==2
case 3
% Stuff for x==3
otherwise
% Stuff for all other values of x
end
您可以从数组中删除元素,如下所示:
matrix_out = matrix_in(x1:x2, y1:y2, :);
(请记住,图像通常表示为2D阵列(如果是RGB,则表示3D)。
这应该足以回答你的问题了。如果不是,你需要更清楚你想做什么。