我目前正在尝试在数字电影制作的背景下模拟插入相机输出的示波器。
这是我的代码:
clear all;
close all;
clc;
A = imread('06.tif');
[l,c,d] = size(A);
n=256;
B = zeros(n,c);
for i = 1:c
for j = 1:l
t = A(j,i);
B(t+1,i) = B(t+1,i) + 1;
end
end
B = B/0.45;
B = imresize(B,[l c]);
B = (B/255);
C = zeros(n,c);
for i = 1:c
for j = 1:l
t = 0.2126*A(j,i,1)+0.7152*A(j,i,2)+0.0723*A(j,i,3); // here is the supposed issue
C(t+1,i) = C(t+1,i) + 1;
end
end
C = C/0.45;
C = imresize(C,[l c]);
C = (C/255);
figure(1),imshow(B);
figure(2),imshow(C);
问题是我在第二张图片中遇到了中断,不幸的是,这就是我想要的输出。我的猜测是问题出在第二个中完成的线性组合中,但我无法处理。我尝试使用 tif 和 jpg 输入,在 Matlab 中使用不同的数据格式,如 uint8,但没有任何帮助......
感谢您的关注,我随时为您解答任何问题。