continuous representation (image generation) of discrete data set
조회 수: 8 (최근 30일)
이전 댓글 표시
I have a discrete data set which contains x and y position and velocity. I usually use patch plot to represent this. Is there a continuous way to represent the data? Something that looks like this : https://quickersim.com/flow-porous-media-matlab-quic
댓글 수: 0
채택된 답변
Image Analyst
2020년 9월 12일
It looks like there is a whole toolbox at that site. Did you look it over for functions that might do that? Otherwise, see my attached scatteredInterpolant demo.
댓글 수: 4
Image Analyst
2020년 9월 18일
The demo works. Here is the main part:
%================================ MAIN PART RIGHT HERE ==============================================
% Create the scattered interpolant. x, y, and gray levels must be column vectors so use (:) to make them column vectors.
% And grayLevels must be double or else an error gets thrown.
F = scatteredInterpolant(xAll(:), yAll(:), double(grayLevelsAll(:)))
% The above line creates an interpolant that fits a surface of the form v = F(x,y).
% Vectors x and y specify the (x,y) coordinates of the sample points.
% v is a vector that contains the sample values associated with the points (x,y).
% Get a grid of points at every pixel location in the RGB image.
[xGrid, yGrid] = meshgrid(1:columns, 1:rows);
xq = xGrid(:);
yq = yGrid(:);
% Evaluate the interpolant at query locations (xq,yq).
vq = F(xq, yq);
fittedImage = reshape(vq, rows, columns);
%================================ END OF MAIN PART ==============================================
You need xq and yq to be vectors, not images like you had. Also you forgot to do reshape to turn it back into an image.
V=F(x2(:),z2(:));
fittedImage = reshape(V, 1000, 1000);
추가 답변 (1개)
Matt J
2020년 9월 12일
You can use griddedInterpolant() if your x,y are gridded sample locations, or else scatteredInterpolant().
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Read, Write, and Modify Image에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!