how to use outliers function to identify outlier pixel values from a series of image frames?

8 views (last 30 days)
Hi
I'm trying to identify outlier pixel values from a series of image frames.
here is the process flow that I am trying to implement:
1. read in several 2-D image frames individually (I'm using 16bit little endian raw images 2056x100 pixels)
2. create multidimensional array, using cat function
3. create a 1-by-1-by-x matrix that contains all the values of a particular pixel for frames=1-to-x
4. use the function "outliers(X0, num_outliers)" created in 2012 by M Sohrabinia on this 1-by-1-by-x matrix
5. repeat steps 3-4 for all pixels
6. deconstruct the multidimensional array into individual frames and read out
I am stuck at step 4, with the following error:
>> [X, outliers_idx] = outliers(pixel10, 2)
Error using ' Transpose on ND array is not defined.
I suspect that the matrix I have created in step 3 is not a simple vector matrix, as when I view it I get this:
>> pixel10
pixel10(:,:,1) =
6
pixel10(:,:,2) =
47
pixel10(:,:,3) =
17
....rather than a single list of numbers in a conventional matlab array
I would appreciate any suggestions on a way forward
thanks
  1 Comment
Paul
Paul on 21 Aug 2014
I've now figured out that B = squeeze(pixel10) will get the matrix into a format that function "outliers" is happy with.
thanks anyway

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!