How to visualise data value with x-y coordinate in an image

3 次查看(过去 30 天)
Hello, suppose I have x-y coordinate and z value as the grades of the points. How can I visualize my data in 2-D colormap ? (I want to show x-y cordinate and different colors for different values at every points inside the image). I am attachng sample data text file and regarding image.
Please help.
  2 个评论
Walter Roberson
Walter Roberson 2019-9-15
I suspect you want griddedInterpolant()
Along with a colormap such as 'hot' or perhaps 'autumn'
RAJ DATTA
RAJ DATTA 2019-9-16
yes. I found I need to interpolate to and a matrix should be created for [x,y, data]. only then I can make an image. Thank you sir for your idea.

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2019-9-15
Try something like
data = dlmread(filename, ' ');
x = data(:, 1);
y = data(:, 2);
grayLevel = data(:, 3);
grayImage = zeros(ceil(max(y)), ceil(max(x)));
for k = 1 : length(x)
row = round(y(k));
col = round(x(k));
grayImage(row, col) = grayLevel(k);
end
grayImage = mat2gray(grayImage);
imshow(grayImage, 'ColorMap', jet(256));
colorbar;
  4 个评论
Image Analyst
Image Analyst 2019-9-15
Not only the blue, but for most of them. There are 181 pixels that are not zero. But most of your image locations do not have a gray level defined for them, so they are left as zero and appear as blue.
data = dlmread('md1.txt', ' ');
x = data(:, 1);
y = data(:, 2);
grayLevel = data(:, 3);
grayImage = zeros(ceil(max(y)), ceil(max(x)));
for k = 1 : length(x)
row = max([1, round(y(k))]);
col = max([1, round(x(k))]);
grayImage(row, col) = grayLevel(k);
fprintf('Assigning %d to row %d, column %d.\n', grayLevel(k), row, col);
end
minGL = min(grayImage(:))
maxGL = max(grayImage(:))
grayImage = mat2gray(grayImage);
imshow(grayImage, [], 'ColorMap', jet(256));
colorbar;

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Red 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by