我是一名编程新手(大约一个月前刚刚开始使用Matlab),所以如果我问了很多,我会道歉。
基本上,我被要求:
我能够完成前两个任务。对于第一个,我使用函数" corr2"计算两个图像之间的相关性。 对于第二项任务,我写了一个程序,输出一个阴影红色倒置等腰三角形。这是我写的代码:
function [ output_args ] = TriangleFit( x,y,m )
% this script finds the vertices of an inverted triangle
% three input, three output
x_2 = (m^2 / (1 + m^2))^(0.5) + x;
y_2 = m * (x_2 - x) + y;
x_3 = -(m^2 / (1 + m^2))^(0.5) + x;
% (x_2 , y_2) = right vertex of triangle
% (x_3 , y_3) = left vertex of triangle
% y_2 = y_3
axis([x_3-2 x_2+2 y-2 y_2+2]);
patch([x x_2 x_3],[y y_2 y_2],'red')
axis off
end
我被困在任务#3上。我被要求使用全局优化工具箱来找到最佳的X,Y和斜率组合,以生成模型三角形图像。我将这个模型图像与我在互联网上发现的倒三角形的随机图像进行比较。我真的不知道如何去做这件事。如果你们中的任何一个人能帮助我,那就太好了。
答案 0 :(得分:1)
欢迎使用MATLAB!
要明确的是,SO不是获得家庭作业答案的地方。但是,我建议您查看GUIDE,它是MATLAB GUI构建软件。按照这些教程,添加几个按钮来调用函数然后绘制结果应该相对简单。
您需要为工具箱定义一些内容,我将让您自己查看。您应该定义一个目标函数,当您的三角形图像与您给出的图像匹配时,该函数将最大化。我建议制作一个矩阵,其值为1或0,具体取决于它们是否在您的三角形内,然后将矩阵中的值与图像中的像素进行比较。此函数可以与变量的某些上限和下限一起提供给优化工具箱。工具箱将一直运行,直到图像尽可能相等。我会留下这个给你做(因为它是你的任务)。