MATLAB Answers

imcrop function problem for 16bit image 2019b

15 views (last 30 days)
Meshooo
Meshooo on 20 Sep 2019
Commented: Meshooo on 18 Oct 2019
Dear all,
The following imcrop code gives an error in 2019b
I = imread('XX.tif');
[Icrop, rect] = imcrop(I, [ ]);
It seems that 2019b does't support [ ] with imcrop. If you are working with 16 bit images then you will be in trouble because you need to see the image before croping it, and for that you need to put the [ ].
Any idea how to overcome this problem?
Thank you in advance.
Meshoo

  6 Comments

Show 3 older comments
Walter Roberson
Walter Roberson on 4 Oct 2019
What is it that you intend the [] to mean to imcrop? The function has two possible arguments at that point: colormap or rect specification. Which one do you intend by the []?
Meshooo
Meshooo on 11 Oct 2019
Hi Walter,
I couldn't understand exactly what do you mean. I am just runing my old codes in 2019 and got an error.
People working with uint16 images usually use [ ] to show the image on their screens, for example: imshow(I_unit16, [ ]).
Similarly, we need to use [ ] when croping uint16 image in order to dispaly the image before cropping it. That was possible in older versions of MATLAB but not in 2019b.
Regards,
Meshoo
Walter Roberson
Walter Roberson on 12 Oct 2019
Please name a particular release that documents using [] as a parameter to imcrop() . I looked through the archived documentation for several releases and could not find any evidence that it was ever a supported option.
Similarly, we need to use [ ] when croping uint16 image in order to dispaly the image before cropping it.
So display the image with imshow() with the documented [] option, and call imcrop() on the handle returned by imshow:
h = imshow(I, []);
[Icrop, rect] = imcrop(h);

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Oct 2019
h = imshow(I, []);
[Icrop, rect] = imcrop(h);

  9 Comments

Show 6 older comments
Meshooo
Meshooo on 18 Oct 2019
Thanks for your suggestions, Image Analyst and Walter. I think bug report would be a better choice. Although it is a very simple problem, but I think many other poeple will face the same problem, and already the user Sahar Tavakoli faced the same problem and commented to this post.
I am not familiar with making bug reports, if anyone would like to do it then very appreciate it.
regards,
Meshoo
Image Analyst
Image Analyst on 18 Oct 2019
Then you'll be making a lot of bug reports. There is a constant flow of functions either changing inputs, being deprecated, or being removed completely as versions progress through the years. I don't see how that, either filing bug reports or writing a custom wrapper and calling that from your code, is any better than just hitting the delete key 3 times.
Meshooo
Meshooo on 18 Oct 2019
For me it's already solved and thanks for the many help I got from all of you. For many other users it is still an issue.

Sign in to comment.

More Answers (0)

Sign in to answer this question.