需要一个如何做到这一点的工作示例,我有一个显示湖形状的 bmp 文件,bmp 的大小是矩形区域并且已知。我需要拍这张照片并估计湖的大小。到目前为止,我有一个脚本可以为每个像素生成一个巨大的矩阵,告诉我它是否在湖中——但这不是蒙特卡罗!我需要生成随机点并以某种方式将它们与形状进行比较,这就是我卡住的地方。我不明白如何在这里进行比较,我没有形状或线条的方程式,我只有准确的点信息——要么在湖中,要么不在湖中。所以我想我已经有了确切的区域,但我需要找到一种方法来比较随机点。
function Yes = Point_In_Lake(x,y,image_pixel)
[pHeight,pWidth]=size(image_pixel);
%pHeight = Height in pixel
%pWidth = Width in pixel
width = 1000; %width is the actual width of the lake
height = 500; %height is the actual height of the lake
%converting x_value to pixel_value in image_pixel
point_x_pixel = x*pWidth/width;
xl = floor(point_x_pixel)+1;
xu = min(ceil(point_x_pixel)+1,pWidth);
%converting y_value to pixel_value in image_pixel
point_y_pixel = y*pHeight/height;
yl = floor(point_y_pixel)+1;
yu = min(ceil(point_y_pixel)+1,pHeight);
%Finally, perform the check whether the point is in the lake
if (image_pixel(yl,xl)~=0)&&(image_pixel(yl,xu)~=0)&&(image_pixel(yu,xl)~=0)&&(image_pixel(yu,xu)~=0)
Yes=0;
else
Yes=1;
end