How to assign rgb values to multiple row,col of a matrix ?

2 views (last 30 days)
for i=1:2%max(label(:))
[rows, cols] = find(label == i);
image(rows,cols,:) = [0,0,0];
end
but I get the error subscripted assignment dimension mismatch

Answers (2)

Adam
Adam on 17 Jan 2017
doc sub2ind

Guillaume
Guillaume on 17 Jan 2017
If the R, G and B values are identical:
image(sub2ind(size(image), repmat(rows, 1, 3), repmat(cols, 1, 3), repmat([1 2 3], numel(rows), 1)) = 0;
If not,
image(sub2ind(size(image), repmat(rows, 1, 3), repmat(cols, 1, 3), repmat([1 2 3], numel(rows), 1)) = repmat([R G B], numel(rows), 1);
unfortunately, neither is particularly straightforward.

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!