Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing imcrop matlab返回的大小不正确_Image Processing_Matlab_Matlab Figure - Fatal编程技术网

Image processing imcrop matlab返回的大小不正确

Image processing imcrop matlab返回的大小不正确,image-processing,matlab,matlab-figure,Image Processing,Matlab,Matlab Figure,我想使用imcrop在matlab中裁剪图像。但是,有时它会产生比我想要的尺寸大一倍的图像。基本上,我的问题与此相同。 但是,即使这样也没有解决。请帮忙 imcrop确实返回“正确的大小”,即其文档中指定的大小。矩形r1=[20 20 40 30]有时并不总是21×11像素宽 如果您对正确大小的期望不同,则可以对矩形进行不同的索引。如果希望矩形的左上边缘为像素(20,20),高20像素,宽10像素,可以指定r1=[20,20,39,29] imcrop是这样工作的,因为它对由像素组成的图像数据进

我想使用imcrop在matlab中裁剪图像。但是,有时它会产生比我想要的尺寸大一倍的图像。基本上,我的问题与此相同。
但是,即使这样也没有解决。请帮忙

imcrop
确实返回“正确的大小”,即其文档中指定的大小。矩形
r1=[20 20 40 30]
有时并不总是21×11像素宽

如果您对正确大小的期望不同,则可以对矩形进行不同的索引。如果希望矩形的左上边缘为像素(20,20),高20像素,宽10像素,可以指定
r1=[20,20,39,29]

imcrop
是这样工作的,因为它对由像素组成的图像数据进行操作。正在索引像素,而不是空间中的点。从数学上讲,一个点没有宽度和高度,但一个像素有一个像素的宽度和高度


为了提供一个极端的例子,
r2=[5,6,8,9]
包括第5行到第6行和第8列到第9列的像素,因此宽度为2 x 2像素。

imcrop
确实返回了“正确的大小”,即文档中指定的大小。矩形
r1=[20 20 40 30]
有时并不总是21×11像素宽

如果您对正确大小的期望不同,则可以对矩形进行不同的索引。如果希望矩形的左上边缘为像素(20,20),高20像素,宽10像素,可以指定
r1=[20,20,39,29]

imcrop
是这样工作的,因为它对由像素组成的图像数据进行操作。正在索引像素,而不是空间中的点。从数学上讲,一个点没有宽度和高度,但一个像素有一个像素的宽度和高度


举一个极端的例子,
r2=[5,6,8,9]
包括第5行到第6行和第8列到第9列的像素,因此是2乘2像素宽。

我无法真正解决这个问题。但是,我应用了一个简单的解决方法。我使用imcrop来裁剪所需的尺寸。然后将裁剪后的图像重新调整到所需大小。

我无法真正解决这个问题。但是,我应用了一个简单的解决方法。我使用imcrop来裁剪所需的尺寸。然后将裁剪后的图像重新调整为所需大小。

如果查看imcrop.m,这里也引用了这句话。它说“因为RECT是根据空间坐标指定的,所以RECT的宽度和高度并不总是与输出图像的大小完全对应。例如,假设RECT为[20 40 30],使用默认的空间坐标系。指定矩形的左上角是像素(20,20)的中心,右下角是像素(50,60)的中心。生成的输出图像是31 x 41,而不是30 x 40,因为输出图像包括输入中完全或部分被矩形包围的所有像素。“如果查看imcrop.m,这里也引用了它。它说因为RECT是根据空间坐标指定的,所以RECT的宽度和高度并不总是与输出图像的大小完全对应。例如,假设RECT是[20 40 30],使用默认的空间坐标系。指定矩形的左上角是像素(20,20)的中心,右下角是像素(50,60)的中心。结果输出图像是31×41,而不是30×40,因为输出图像包括输入中完全或部分被矩形包围的所有像素。”