- take the absolute value with "abs"
- shift all values so that you don't have negatives anymore
- scale the values so that you have 0 in the middle of the RGB values
- ...
how to display a matrix with negative values as a image
25 次查看(过去 30 天)
显示 更早的评论
some arithmatic operations gives negative values.is it a problem for displaying the image.how to display a matrix with negative values as a image
0 个评论
回答(3 个)
Simon
2013-9-30
There are many ways of doing this
(may grayscale image is most suitable for this?)
Jan
2013-9-30
编辑:Jan
2013-9-30
It depends on what you want to display. Some examples:
data = 1 + 2 .* randn(200, 200); % Test data
1. Set all negative value to zero, scale the positive values to be in the range of [0,1]:
img1 = max(data, 0);
img1 = img1 / max(img1(:));
2. Shift all values to the positive range, that scale again as above:
img2 = data - min(data(:));
img2 = img2 / max(img2(:));
3. There is an infinite number of possibilities for pseudo-color images. You could e.g. define colors for different intervals by dividing the total range max(data(:)) - min(data(:)) into 17 different intervals and using the 2nd output of histc to get the interval for each pixel.
4. Perhaps you are talking about RGB images? Then even more possible mappings exist.
Conclusion: Please post any details about the wanted procedure. We cannot guess them.
0 个评论
Image Analyst
2013-9-30
I gave you some answers in your duplicate question: http://www.mathworks.com/matlabcentral/answers/88637#comment_171537 Why do you have two questions on the same question? Doesn't that make it confusing for you , and us, when you have two places to go to look for answers?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!