• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【Matlab】图像裁剪函数imcrop的原点、长度、宽度问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

[toc]
Matlab中,函数imcrop用来裁剪图像,但有几个问题要探讨一下。
先说imcrop的简单用法:

I2 = imcrop(I,RECT)

I代表原图,RECT是裁剪区域。 RECT的形式是这样的:[XMIN YMIN WIDTH HEIGHT]

问:

  • 区域RECT的原点是怎么定义的,或者说在哪?
  • 区域RECT的长度和宽度,我写10*23,输出的就是大小为10*23的图像吗?

答:

1.原点:

左上角,大小从1开始,不是0!

2.长度和宽度

若有一个图像为N,在matlab中进行如下操作,imcrop的参数为[2,2,2,2],代表左上角坐标为[2,2],裁剪的长度为2,宽度为2。

N = [1,2,3,4,5,6,7,8,9;
     9,8,7,6,5,4,3,2,1;
     1,2,3,4,5,6,7,8,9;
     9,8,7,6,5,4,3,2,1;]
N2 = imcrop(N,[2,2,2,2])

这样看以为输出的结果应该是这样的:

**错误想法**
N =

     1     2     3     4     5     6     7     8     9
     9     8     7     6     5     4     3     2     1
     1     2     3     4     5     6     7     8     9
     9     8     7     6     5     4     3     2     1


N2 =

     8     7
     2     3

实际上输出结果是这样的:

N =

     1     2     3     4     5     6     7     8     9
     9     8     7     6     5     4     3     2     1
     1     2     3     4     5     6     7     8     9
     9     8     7     6     5     4     3     2     1


N2 =

     8     7     6
     2     3     4
     8     7     6

啊,长宽怎么比我们预想的多1啊?
没错,就是这样,当我们想要得到的结果大小为m*n时,我们需要在设置参数的时候减1。比例要得到一个大小为2*2的结果,我要这样写:

N2 = imcrop(N,[2,2,1,1])

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB 2018a软件安装教程发布时间:2022-07-18
下一篇:
matlab中norm函数的用法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap