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!