📄 ch5example14prg1.m
字号:
% ch5example14prg1.m
clear;
I=imread('colorbar.tif');% 或用 autumn.tif,sydney.JPG等图像文件
figure(1);imshow(I);
I=double(I);
[m,n,p]=size(I);
I=-(0.75-0.125)./(255).*I+0.75; % 换算为0.125到0.75电平
R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);% 三基色分离
R=reshape(R',1,m*n); % 转换为1维(红)
G=reshape(G',1,m*n); % 转换为1维(绿)
B=reshape(B',1,m*n); % 转换为1维(蓝)
Y=0.30*R+0.59*G+0.11*B;% 亮度
R_Y=R-Y; % 色差R0
B_Y=B-Y; % 色差B0
V=0.877*R_Y; % 色差电平压缩
U=0.493*B_Y; % 色差电平压缩
f_c=283.5*15625; % 副载波频率
tvY=[interp1(Y,(1:n/980:m*n),'nearest')];% 插值:行采样980点
tvV=[interp1(V,(1:n/980:m*n),'nearest')];% 插值
tvU=[interp1(U,(1:n/980:m*n),'nearest')];% 插值
% 全电视信号产生
for h=1:(m-2)
s(1280*h+(1:102))=0.75; % 消隐脉冲
s(1280*h+(103:197))=1; % 行同步头
s(1280*h+(198:300))=0.75;% 消隐脉冲
s(1280*h+(301:1280))=tvY(h*980+(-1:978));% 图像一行像素-亮度
% 色差V
sV(1280*h+(1:300))=0; % 消隐部分
sV(1280*h+(220:265))=0.12;% 色同步选通
sV(1280*h+(301:1280))=tvV(h*980+(-1:978));% 图像信号部分
% 色差U
sU(1280*h+(1:300))=0;
sU(1280*h+(301:1280))=tvU(h*980+(-1:978));
end
t=0:0.5e-7:0.5e-7*(length(s)-1);% 计算时间点序列,采样率20MHz
F_v=sV.*cos(2*pi*f_c.*t); % 色差信号正交调制
F_u=sU.*sin(2*pi*f_c.*t);
c=F_v+F_u; % 调制输出的色差信号
TVsignal=s+c; % 合成彩色电视信号
figure(2); plot(t,TVsignal); xlabel('时间');% 彩色电视信号
figure(3); plot(t,s); xlabel('时间'); % 亮度信号
% 功率谱计算
[Pxxcc,F]=psd(c,1e5,2e7);
figure(4); plot(F,10*log10(Pxxcc),'g');hold on;% 调制后的色差信号频谱
[Pxx,F]=psd(s,1e5,2e7); % FFT长度为1e5点,故频率分辨率100Hz
figure(4); plot(F,10*log10(Pxx),'k'); % 亮度信号频谱
xlabel('频率 Hz');ylabel('功率谱密度 dB');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -