Я пытаюсь нанести изображение на плоскость XY 3D-диаграммы рассеяния.Текущая версия, которую я имею, дает некоторые результаты, но цвета изображения не отображаются должным образом.
В настоящее время я считываю изображение в градациях серого, но в идеале я хотел бы, чтобы мои точки были над цветным изображением.
x = [1,2,3,4,5,6,7,8,9,10,11,1,2,3,4,5,6,7,8,9,10,11];
y = [0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1];
z = [0,0,0,1,2,3,2,1,0,0,0,0,0,1,2,3,2,1,0,0,0,0];
min_x = min(min(x));
min_y = min(min(y));
max_x = max(max(x));
max_y = max(max(y));
planeimg = rgb2gray(imread('1.jpg'));
figure; hold on;
scatter3(x,y,z);
colormap(gray);
minplaneimg = min(min(planeimg)); % find the minimum
scaledimg = (floor(((planeimg - minplaneimg) ./ ...
(max(max(planeimg)) - minplaneimg)) * 255)); % perform scaling
imgzposition = -10;
colorimg = ind2rgb(scaledimg,jet(256));
surf([min_x max_x],[min_y max_y],repmat(imgzposition, [2 2]),...
colorimg,'facecolor','texture')
view(45,30);
xlabel('x');
ylabel('y');
zlabel('z');