问题描述
|
问题:请求裁剪边缘(1.顶部,2。左,3。右侧,4。底部),以及要删除并执行的像素数。
实现为一个函数:pic_new = crop_image(pic,direction,pixels);
如何使用指定的输入创建函数?我知道有一个名为imcrop()的函数,但似乎无法正常工作。请帮忙。感谢您的时间。
解决方法
但是
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)
, 您开始这样的函数定义:
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)。
这应该足以回答您的问题。如果不是,则需要更清楚地了解要执行的操作。