imshow does not work in 2014a

3 次查看(过去 30 天)
Suraj Nagaraj
Suraj Nagaraj 2014-8-26
编辑: DGM 2023-2-8
simple tif file, I try to display but Matlab 2014a throws an error and says
Undefined function 'imshow' for input arguments of type 'char'
imshow('test.tif');
that's my command that I try and I've got all the possible toolboxes installed and licensed on my machine. Any inputs will help. Its a straight rip-off from the online help section for imshow.

回答(7 个)

Image Analyst
Image Analyst 2014-8-26
Poorna, run this code and tell me what you see:
% Check that user has the Image Processing Toolbox installed.
hasIPT = license('test', 'image_toolbox');
if ~hasIPT
% User does not have the toolbox installed.
message = sprintf('Sorry, but you do not seem to have the Image Processing Toolbox.');
uiwait(warndlg(message));
end
  2 个评论
Image Analyst
Image Analyst 2015-1-30
Suraj's reply moved here since it's not an answer to the original question.
I think i have gone through the list of toolboxes installed and licensed. I have possibly got all the available toolboxes supplied by Mathworks. If I can do an imread, i must possibly be able to do an imshow.
Is there a possibility that these two simple functions will be part of two different toolboxes.
Image Analyst
Image Analyst 2015-1-30
编辑:Image Analyst 2015-1-30
Suraj, do you still have the problem?
Note that in R2014a imread() was in base MATLAB but imshow() was not. imshow() became part of base MATLAB with the R2014b release. Have you upgraded to R2014b yet? You should not have the problem if you do.

请先登录,再进行评论。


Mikhail
Mikhail 2014-8-26
That is because you don't have Image Processing Toolbox required for imshow
  4 个评论
Eric
Eric 2015-1-28
编辑:Eric 2015-1-28
The OP states he is using Matlab R2014a. imshow is not a part of Matlab in this version; it is in the Image Processing Toolbox. imshow was moved to Matlab with release R2014b.
Mohammad Abouali
Mohammad Abouali 2015-1-28
Yes, you are right. It wasn't part of 2014a MATLAB.

请先登录,再进行评论。


Mikhail
Mikhail 2014-8-26
No! Imread doesn't require Image Processing Toolbox.
Once again: type ver in command line and check if you have Image Processing Toolbox.

Suraj Nagaraj
Suraj Nagaraj 2014-8-27
@ Image Analyst: I don't see the warning but hasIPT = 1. So that means I've got the image processing toolbox installed. I guess...???
  1 个评论
Eric
Eric 2015-1-28
This is old, but in case anybody else is reading this thread:
The code that Image Analyst supplied for hasIPT only checks that a license is available for the Image Processing Toolbox, not that the software has been installed.
One needs to also do what Mikhail suggested: Type ver at the command line and see what is actually installed.
It is entirely possible to be licensed for a product but to not have the software installed for use.
-Eric

请先登录,再进行评论。


Bhavna Rajasekaran
Bhavna Rajasekaran 2015-1-28
I have the same problem, it seems imshow() is shifted from image processing toolbox to general matlab commands, but is apparently not installed?? I am using R2014b.. Any clues??
  3 个评论
John D'Errico
John D'Errico 2015-1-28
As Eric says, imshow is now in MATLAB, since I lack the IPT, but I do have imshow.
Eric
Eric 2015-1-28
imshow appeared in Matlab with Release R2014b. This is mentioned in the release notes.

请先登录,再进行评论。


Muhammad Zaigham Zaheer
编辑:Muhammad Zaigham Zaheer 2015-5-14
I am also having this same problem in 2014b. This code below works fine when I remove the imshow command. But gives error when I imshow command is included.
[imgs labels] = readMNIST('t10k-images-idx3-ubyte', 't10k-labels-idx1-ubyte', 50, 10);
for i=1:50
im=imgs(:,:,i);
name = ['image',num2str(i),'.jpeg'];
imwrite (im,['image',num2str(i),'.jpeg']);
end
imshow(im);
  2 个评论
Image Analyst
Image Analyst 2015-5-14
You forgot to include your error. And did you try the code I posted above. Also try
which -all imshow
ver
and tell us what it says
Muhammad Zaigham Zaheer
Thanks for the reply. But it was may be some corrupted file problem. I have re-installed matlab and everything is working fine now.

请先登录,再进行评论。


vasanthkumar
vasanthkumar 2023-2-8
Hi, i am using MATLAB R2014a, i have been facing the same issue of "Undefined function 'imshow' for input arguments" ...i can't upgrade to R2014b right now, any possible solution or alternaties instred of "imshow" any other command to repalce it and Run?
  4 个评论
Walter Roberson
Walter Roberson 2023-2-8
The main other feature for imshow is if ndims is 2 and isinteger then colormap(grey)
DGM
DGM 2023-2-8
编辑:DGM 2023-2-8
Ugh. I forgot about that. To be fair, I'm also ignoring a lot of other things too.
There user would still have to basically use image() syntax, considering I'm just shoveling varargin straight into image(). It'd probably be easier to just shove everything into image(), let it do its input parsing, and then check CData than trying to figure out which argument is the image.
Also, consider that something like imshow(indexedimage,map) sets the cdatamapping to 'direct' instead of 'scaled'. Also, imshow() supports a displayrange parameter.
The more completely the behavior is supposed to match, the fewer crude simplifications are available. I'd rather give a narrow-purpose workaround than a full-fledged replacement, but it's up to the user to say what they need.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by