Imread for .pbm file - matlab

I am trying to read an image, but it gives me errors as such. I have tried to read other formats, which work fine. I could not find much online, so I am posting the question here. Any ideas would be helpful!
>> A = imread('C:\Users\5460\Desktop\CV2\Apple\image001.pbm', 'pbm')
Error using impnminfo (line 72)
Invalid magic number. File is not a PPM, PGM, or PBM file.
Error in readpnm (line 25)
info = impnminfo(filename);
Error in imread (line 434)
[X, map] = feval(fmt_s.read, filename, extraArgs{:});
Thanks in advance!

Related

Code given in MATLAB documentation for montage function returning errors

I'm trying to display a montage of images in MATLAB, where each image is an N x M array and K images are stored as an N x M x K array.
MATLAB returns the errors:
Error using images.internal.imageDisplayValidateParams>validateCData (line 115)
Multi-plane image inputs must be RGB images of size MxNx3.
Error in images.internal.imageDisplayValidateParams (line 27)
common_args.CData = validateCData(common_args.CData,image_type);
Error in images.internal.imageDisplayParseInputs (line 78)
common_args = images.internal.imageDisplayValidateParams(common_args);
Error in imshow (line 240)
images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});
Error in montage (line 152)
hh = imshow(bigImage, displayRange,parentArgs{:});
These exact errors persist when I copy-paste and run the code supplied the MATLAB documentation for the montage function, included here:
img1 = imread('AT3_1m4_01.tif');
img2 = imread('AT3_1m4_02.tif');
img3 = imread('AT3_1m4_03.tif');
img4 = imread('AT3_1m4_04.tif');
multi = cat(3,img1,img2,img3,img4);
montage(multi);
This code is supposed to create a montage from an N x M x K array in the same manner as the original code I am troubleshooting, and fails to in the same manner.
Does anyone else receive these errors from this code? Can someone tell me how to adjust this code to produce a montage of images as demonstrated in the documentation example?
My guess is that this is a version error. Are you running Matlab 2018a? That is the version which the documentation is for. I would fancy a guess that an older version of Matlab used a different interface.
I would try typing
help montage
in your Matlab. Perhaps there are some addition tips there.
The documentation says
montage(I) displays all the frames of a multiframe image array I. A
multiframe image array can be a sequence of binary, grayscale, or
truecolor images. A binary or grayscale image sequence must be an
M-by-N-by-K or an M-by-N-by-1-by-K array. A truecolor image sequence
must be an M-by-N-by-3-by-K array.
however the M-by-N-by-K does not seem to work. But the M-by-N-by-1-by-K does.
Therefore
multi = cat(4,img1,img2,img3,img4);

Issues related to SVR in MATLAB

I am working on support vector regression for aerospace applications. I need to implement SVR in MATLAB. On the internet, I found this link, which gives detailed information with examples. When I try running the example codes in matlab, I am getting this error,
Error using classreg.learning.FitTemplate/fillIfNeeded (line 604)
OptimizeHyperparameters is not a valid parameter name.
Error in classreg.learning.FitTemplate.make (line 124)
temp = fillIfNeeded(temp,type);
Error in RegressionSVM.template (line 349)
temp = classreg.learning.FitTemplate.make('SVM','type','regression',varargin{:});
Error in RegressionSVM.fit (line 343)
temp = RegressionSVM.template(varargin{:});
Error in fitrsvm (line 235)
obj = RegressionSVM.fit(X,Y,varargin{:});
I am using MATLAB R2016a. Kindly let me know, how to solve this issue.
I had a similar issue today. Just upgrade Matlab to Matlab 2016b and it should work. Maybe it's a new parameter that they just introduced.

How to replace the wavread(file) in matlab r2015a

I am trying to run a matlab script and in the line [s, fs] = wavread(file);,
I take the following result,
Warning: WAVREAD will be removed in a future release. Use AUDIOREAD
instead. In wavread (line 62) In MEDanalysis (line 25) Error using
wavread (line 70) Invalid Wave File. Reason: Cannot open file.
Error in MEDanalysis (line 25)
[s, fs] = wavread(file);
You have 1 warning and one error:
The Warning is about using waveread which will be removed in future versions of MATLAB.
If you want your code to compatible with newer versions of MATLAB, use audioread.
The error says something about your wave file being corrupted. Can you play it in VLC for instance?

How to fix the Principle Component Analysis error in Matlab

I happened to a Matlab Problem, the error looks like this:
Error using pca
Too many input arguments.
Error in mdscale (line 413)
[~,score] = pca(Y,'Economy',false);
Error in demo_libsvm_test1 (line 140)
newCoor = mdscale(distanceMatrix,2);
When I debug my code step by step, the error comes from here:
distanceMatrix = pdist(heart_scale_inst,'euclidean'); (line 139)
newCoor = mdscale(distanceMatrix,2); (line 140)
Everything above the two lines are all right. I do not know how to fix the problem. I use Matlab 2014a. Can anyone give me a help?

Read video using VideoReader function in Matlab?

I want to read a video from a folder and extract the frames from it.I used VidoeReader function.But it gives error.My code is shown below along with the error.
mov=VideoReader('11.mp4');
vidFrames=read(mov);
nFrames=mov.NumberOfFrames;
for i=1:nFrames
imshow(vidFrames(:,:,i),[]);
end
and the error show is as given below
Error using VideoReader/init
The file does not appear to have any video
data.
Error in VideoReader (line 147)
obj.init(fileName);
Error in video (line 7)
mov=VideoReader('11.mp4');
I think this is a MATLAB version related problem. I faced the same problem when I was using MATLAB 2013a. However, when I changed to MATLAB 2014b the problem just disappeared.