要画一个光路图,本来可以用proe,但是鼠标不好用,有些操作也忘了,用MATLAB画了个。下面是用到的图片。
但是三维坐标中显示彩色图片的目标没有搞定,做了个灰度图,然后用仿射程序将彩色图片贴到了二维灰度图中。
clear all;clc;close all;
im1 = rgb2gray(imread('F:\sup.jpg'));% 掩模,第一张图,白色的部分在后面的surf中透明化了
im1 = imresize(im1,[64 64]);
im2 = rgb2gray(imread('F:\im3.jpg'));% 样品,第二张图
im2(:,end) = [];
im2 = imresize(im2,[64,64]);
im2 = flipud(im2);
im3 = rgb2gray(imread('F:\diff.jpg'));% 衍射图样,第三张图
im3(513:end,:) = [];
im3(:,513:end) = [];
im3 = flipud(im3);
% figure;
% subplot(121);imshow(im1);
% subplot(122);imshow(im4);
mask = PIEmask(256,200,128,128);
mask = imresize(mask,[64 64]);
%%
figure('color','white');
N = size(im3);
[x z] = meshgrid(-N/2:N/2-1);
y = 0*ones(N,N);
a = surf(x,y,z, double(im3) ); % 画衍射图
set(a,'linestyle','none'); %隐藏网格
colormap(gray);
hold on;
N = size(im2);