【问题标题】:Crop square image in matlab在matlab中裁剪正方形图像
【发布时间】:2013-03-08 01:37:15
【问题描述】:

有人知道如何在 matlab 中裁剪图像,但裁剪图像的结果应该是方形的?所以,宽度和高度应该是相同的大小..谢谢..

im=dicomread('078tm.L.dcm');
A=double(im);
B = A/max(A(:));
crop= imcrop(B);
[w h]=size(crop);
 if w~=h
     sizew=w;
     sizeh=h;
     if sizew > sizeh || sizeh < sizew
         w=sizew-sizeh
     else
         h=sizeh-sizew
     end
 end

crop2= imcrop(B,[crop(1) crop(2) w h]);

dicomwrite(crop2, 'a.dcm');

我不认为是正确的,因为我不知道如何获得位置图像裁剪。

【问题讨论】:

  • 是的。但首先向我们展示您的尝试。

标签: matlab crop


【解决方案1】:

试试这个

 [crop rect] = imcrop(B); % interactively crop
 if rect(3) ~= rect(4), % not square
    c = rect(1:2) + .5*rect(3:4); % center
    w = min( rect(3:4) ); % take min dimension
    rect = [ ceil(c-.5*[w w]), w, w ];
    crop = imcrop( B, rect ); % re-crop
 end 

【讨论】:

    【解决方案2】:

    我猜你的问题是 Matlab 中图形的坐标系。你可以找到更多信息是这个link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-23
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 2016-12-05
      相关资源
      最近更新 更多