楼主: snmy512

彩色全息关键问题是什么?

[复制链接]
发表于 2009-5-3 08:59:02 | 显示全部楼层
本帖最后由 蓝天夏 于 2009-5-3 12:51 编辑

太大了,发不出去,上午有事,下午拆开给你发。
发表于 2009-5-3 13:42:36 | 显示全部楼层
。。。。。。。。。。。。。。。。

光全息学及其应用-1.pdf

1.21 MB, 下载次数: 3, 下载积分: 光电贝 -10 元

光全息学及其应用-2.pdf

1.18 MB, 下载次数: 2, 下载积分: 光电贝 -10 元

发表于 2009-5-3 13:54:20 | 显示全部楼层
。。。。。。。。。。。。。。。

光全息学及其应用-3.pdf

1.34 MB, 下载次数: 1, 下载积分: 光电贝 -10 元

光全息学及其应用-4.pdf

1.34 MB, 下载次数: 1, 下载积分: 光电贝 -10 元

发表于 2009-5-3 14:01:29 | 显示全部楼层
建议你认真看一下第十二章彩虹全息和第十四章彩色全息

光全息学及其应用-5.pdf

1.31 MB, 下载次数: 3, 下载积分: 光电贝 -10 元

光全息学及其应用-6.pdf

1.1 MB, 下载次数: 4, 下载积分: 光电贝 -10 元

发表于 2009-5-14 14:07:45 | 显示全部楼层
瞧瞧!!!!!!!!!!!!
 楼主| 发表于 2009-5-14 15:42:54 | 显示全部楼层
谢谢哦,谢谢大家帮忙,谢谢蓝夏天
 楼主| 发表于 2009-5-14 15:47:59 | 显示全部楼层
不好意思看错了,谢谢蓝天夏。你做全息吗?能帮我修改下程序吗?加我QQ:413299159好不好?
 楼主| 发表于 2009-5-14 16:03:31 | 显示全部楼层
时间可能来不及了,过几天就要软件演示了,彩色还是搞不定,哪位好心的大哥大姐帮帮忙,有可用的彩色全息程序发一个借鉴下,谢谢
 楼主| 发表于 2009-5-15 10:35:57 | 显示全部楼层
大家帮忙看下这个程序怎么修改才能运行出合理的结果。运行没错误,用的是LenaRGB128*128图像,扩展下后做全息,后面的全息程序没问题,可以出正常结果(不用扩展的256*256图像),但用扩展后的256*256就有问题,全息图半黑半白,再现空白
A=imread('LenaRGB128.bmp');%读入原始图像
subplot(3,3,1);
imshow(A):title('原始图像');%子窗口显示原始图像
R=A(:,:,1);
G=A(:,:,2);
B=A(:,:,3);%RGB分解
subplot(3,3,2);
imshow(R):title('R分量');
subplot(3,3,3);
imshow(G):title('G分量');
subplot(3,3,4);
imshow(B):title('B分量');
S(:,:,1)=R;
S(:,:,2)=G;
S(:,:,3)=B;
subplot(3,3,5);
imshow(S);title('合成后图像');
%--------扩展R为原始图像的4倍,M*N部分和原始图像相同,其他填充0--------%
[M,N]=size(R);%计算图像大小
K=double(R);
Q=2*M;
P=2*N;
for i=1
    for j=1
        if(i<=M)&&(j<=N)
           C(i,j)=K(i,j);
        else
            C(i,j)=0;
        end
    end
end
subplot(3,3,6);
C=uint8(C);
imshow(C,[]):title('R扩展后图像');
%--------扩展G为原始图像的4倍,M1*N1部分和原始图像相同,其他填充0--------%
[M1,N1]=size(G);%计算图像大小
L=double(G);
Q1=2*M1;
P1=2*N1;
for i=11
    for j=11
        if(i<=M1)&&(j<=N1)
           D(i,j)=L(i,j);
        else
            D(i,j)=0;
        end
    end
end
subplot(3,3,7);
D=uint8(D);
imshow(D,[]):title('G扩展后图像');
%--------扩展B为原始图像的4倍,M2*N2部分和原始图像相同,其他填充0--------%
[M2,N2]=size(B);%计算图像大小
T=double(B);
Q2=2*M2;
P2=2*N2;
for i=12
    for j=12
        if(i<=M2)&&(j<=N2)
           E(i,j)=T(i,j);
        else
            E(i,j)=0;
        end
    end
end
subplot(3,3,8);
E=uint8(E);
imshow(E,[]):title('B扩展后图像');
F(:,:,1)=C;
F(:,:,2)=D;
F(:,:,3)=E;
subplot(3,3,9);
imshow(F,[]);title('扩展后合成图像');
imwrite(uint8(F),'expaned_image.bmp');
object=imread('expaned_image.bmp');
object=rgb2gray(object);
object=double(object);%数值类型转化
figure;
imshow(mat2gray(object));%显示物图像
title('输入图像')
object_fft=fft2(object);%对其进行快速傅里叶变换
object_fftshift=fftshift(object_fft);%频谱坐标中心化
figure;
imshow(mat2gray(log(1+abs(object_fftshift))));%输入图像的傅里叶频谱
title('输入图像的傅里叶频谱');
lamada=632.8e-6;%定义参考波长
L=1000;%接收屏大小
N=256;%采样频率
x=linspace(-L/2,L/2,N);%定义接收屏平面坐标系
y=x;
[X,Y]=meshgrid(x,y);
b=8;
Referwave=exp(Y.*j*2*pi*b);%参考平面波,设其振幅为1
I=object_fftshift.*conj(Referwave)+conj(object_fftshift).*Referwave;%全息图的强度分布,省略了前两项
figure
imshow(mat2gray(log(abs(I)+1)),[]);
title('全息图片');
%波前重建
I2=conj(Referwave).*I;%用参考光的复共轭重建
object_reconstruct=ifft2(I2);
figure
imshow(mat2gray(abs(object_reconstruct)));
title('全息图重建');
 楼主| 发表于 2009-5-15 10:40:27 | 显示全部楼层
for i=1
    for j=1
for i=11
    for j=11
for i=12
    for j=12
表情依次是上面的语句(!!!好好的,贴过来就变了)
 楼主| 发表于 2009-5-15 10:41:09 | 显示全部楼层
昏迷还是这样!!!!
发表于 2009-5-15 14:56:19 | 显示全部楼层
我是学传统全息的,还是十几年前的事,没做过计算全息。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 Licensed © 2001-2026 Discuz! Team.|鄂ICP备17021725号-1

在本版发帖
关注公众号
QQ客服返回顶部