How to replace image pixels
13 views (last 30 days)
Show older comments
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.
Answers (1)
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
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!