imcrop can not work for a .fig file
3 次查看(过去 30 天)
显示 更早的评论
When I use this function,
I = openfig('filename.fig');
J = imcrop(I,rect)
output:
Error using imcrop>checkCData (line 412)
Invalid input image.
Error in imcrop>parseInputs (line 256)
checkCData(a);
Error in imcrop (line 93)
[x,y,a,cm,spatial_rect,h_image,placement_cancelled] = parseInputs(varargin{:});
But when use another (below), it works.
[J,rect2] = imcrop(___)
Can another people help? thanks.
4 个评论
Walter Roberson
2020-3-24
I notice that you have a matlab.ui.Figure, also known as a uifigure, which is produced by App Designer. I did not know that you could get a .fig from App Designer. Using CurrentAxes and so on is for old style figures. I do not have any uifigure around to test with.
Adam
2020-3-25
Sorry, corrected that now. I thought the property was 'Axes' first, then double-checked, found it was 'CurrentAxes' and didn't realise I hadn't removed the first attempt!
回答(1 个)
Walter Roberson
2020-3-24
编辑:Walter Roberson
2020-3-24
https://www.mathworks.com/help/images/ref/imhandles.html can be used to locate the images in fig. Note that more than one could potentially be returned in general.
10 个评论
Walter Roberson
2020-5-24
imshow(J{1} ,[])
imcrop includes the border, except when it does not include the border. I filed a bug report on it years ago.
I recommend using matrix indexing instead of imcrop when you already know where you want to crop.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!