如何解决有关图像处理的MATLAB编程问题
| 问题:请求裁剪边缘(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)。
这应该足以回答您的问题。如果不是,则需要更清楚地了解要执行的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。