How do i vectorize an image?
9 views (last 30 days)
Show older comments
I am trying to break a square matrix of an image and create another vector which contains its column vector sub-blocks. I used the following code for it and getting an error
for i=1:50 a(i)=A(:,i)
The error says 'In an assignment A(I) = B, the number of elements in B and I must be the same.'
Please help me how i can solve my problem.
9 Comments
Walter Roberson
on 15 Oct 2015
mean(Array) gives a vector of column means, you do not need to split it up. Likewise with std()
Answers (2)
Walter Roberson
on 14 Oct 2015
a = mat2cell(A, size(A,1), ones(1,size(A,2)));
Now a{K} will be the column vector corresponding to A(:,K)
2 Comments
Walter Roberson
on 14 Oct 2015
For RGB one solution would be
a = mat2cell(A, size(A,1), ones(1,size(A,2)), size(A,3));
This would create a{k} as being an N x 3 matrix, rather than creating the vectors that were asked for. Or you could use
a = mat2cell(A, size(A,1), ones(1,size(A,2)), ones(1,size(A,3)));
which would create a as an N x 3 cell array, each entry of which is a column vector.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!