用Matlab的imcrop函数裁剪图像位置不对

energydayao 2016-09-13 03:32:19
用imcrop函数裁剪图像,函数中给出裁剪坐标和高宽,但是结果图像位置不对。附上代码,请牛人帮忙看看指点一下?
I=imread('lena512.bmp');
Y1=imcrop(I,[200 210 150 205]);
Y2=I(200:405,210:360);
figure;
subplot(121);imshow(Y1);title('imcrop函数');
subplot(122);imshow(Y2);title('矩阵截取');
...全文
2309 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
MinakoNarita 2017-04-08
  • 打赏
  • 举报
回复
我也有这个问题,楼主解决了吗
energydayao 2016-09-13
  • 打赏
  • 举报
回复
参考教材附录 B,常用 MATLAB 图像处理工具箱函数完成以下操作: (1) 利用“读图像文件 I/O”函数读入图像 football.jpg。 (2) 利用“读图像文件 I/O”的 imfinfo 函数了解图像文件的基本信息:主要包括 Filename (文件 名)、FileModDate (文件修改时间)、FileSize (文件尺寸)、Format (文件格式)、 FormatVersion (格式 版本)、Width (图像宽度)、Height (图像高度)、BitDepth (每个像 素的位深度)、ColorType (彩色类 型)、CodingMethod (编码方法)等。 (3) 利用“像素和统计处理”函数计算读入图像的二维相关系数(Corr2 函数),确定像素 颜色值 (impixel 函数),确定像素的平均值(mean2 函数),显示像素的信息(pixval 函数)、 计算像素的标准偏移(std2 函数)等。 要求:参照例题 1.1,对图像 J 加均值为 0、方差为 0.01 的高斯白噪声形成有噪图像 J1 , 即“ J1 = imnoise(J,'gaussian',0,0.01)”;求 J1 的像素总个数、图像灰度 的平均值、 标准差、J 和 J1 的互协方差和相关系数、J 和 K 的 互协方差和相关系数。 如果将方差加至 0.1,重新计算上述统计参数。 (4) 改变图像尺寸(imresize 函数)、旋转图像imrotate 函数)、对图像进行裁剪imcrop 函数)等,再对操作后的图 像进行统计。图 1.2 所示为裁剪后的显微图像。 原图像 I,按比例 SCALE 改变尺寸后的图像为 J。imresize 函数的调用格式是“J = imsize(I, SCALE)”,同理,图像 A 按 ANGLE 角度进行旋转得到图像 B 的语句为:“B = imrotate(A,ANGLE)”。 对于图 1 中的 SBS 改性沥青材料的显微图像,由于尺寸偏大,可以按水平和垂直 0.15 的比 例减低空间分辨率。对图像 J 进行裁剪MATLAB 函数imcrop,调用格式为“K= imcrop(J, RECT)”,其中 RECT 是 4 元素向量[XMIN YMIN WIDTH HEIGHT],XMIN、YMIN 为左下角坐标值, WIDTH、HEIGHT 分别是裁剪区域的宽度和高度。由于曝光不均匀,可能给图像处理和分析带 来困难。舍去暗的地区,采用图像裁剪参数 RECT= [0 181 363 283]得到光照较均匀的 左下角图像裁剪结果如图 2 所示。 要求:参照例 2.1,将图像 I 分别放大和缩小 1.5 倍、旋转 30,再对操作后的图像进行统计。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
  • 图象工具使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧