MATLAB Answers

0

How to replace image pixels

Asked by sejugn jung on 5 Aug 2019
Latest activity Answered by Image Analyst
on 5 Aug 2019
I have an image and a csv file. I want to change the pixel value of the image to the values in the csv file. How do I do that?

  1 Comment

Adam
on 5 Aug 2019
Load the image, load the csv file, index into the image and replace values. Write the image to file again if desired.

Sign in to comment.

1 Answer

Answer by Image Analyst
on 5 Aug 2019

Try this if your data is stored row, column, new gray level:
data = csvread(filename); % Assumes columns of row, column, new gray level, NOT x, y, new gray level
rows = data(:, 1);
columns = data(:, 2);
newValues = data(:, 3);
for k = 1 : length(rows)
grayImage(rows(k), columns(k)) = newValues(k); % Replace this pixel of grayImage with a new value.
end
If your data is in the form x, y, gray level, you need to do this:
data = csvread(filename); % Assumes columns of x, y, new gray level, NOT row, column, new gray level
rows = data(:, 2);
columns = data(:, 1);
newValues = data(:, 3);
for k = 1 : length(rows)
grayImage(rows(k), columns(k)) = newValues(k); % Replace this pixel of grayImage with a new value.
end

  0 Comments

Sign in to comment.