我试图从4个点获得图像的子集。根据{{3}}中给出的解决方案,我找到了点并根据最大和最小x,y值对它们进行了排序。之后我做了:
subim = image(x_min:x_max,y_min:y_max,:);
为了获得由x_min:x_max,y_min:y_max
中包含的矩形形成的子图像,但这不起作用。
我做错了什么?
答案 0 :(得分:4)
像@Divakar一样回答你,
matlab image适用于行和列属性,如图1中的帮助所示。
在图2中,它们显示了如何定义(x,y)轴。如您所见,y
是行轴,x
是列。
因此,当您使用imshow
或imtool
来获取图形上的坐标时,它会显示在(x,y)中而不是(row,col)。只需反转您的坐标,您就可以获得所需的一切。
请注意并非所有库或langague都使用相同的顺序,例如python中的Numpy与Matlab相同,但OpenCV是反向的。