Image Matlab摄像机示波器

Image Matlab摄像机示波器,image,matlab,oscilloscope,Image,Matlab,Oscilloscope,目前,我正试图在数字电影制作的背景下,模拟一个插入相机输出的示波器 这是我的密码: 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

目前,我正试图在数字电影制作的背景下,模拟一个插入相机输出的示波器

这是我的密码:

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,但没有任何帮助


感谢您的关注,我随时准备回答任何问题。

您可能遇到的情况是,并不是所有C成员都会被填充。您可以通过运行
find(C==0)
来检查这一点,任何返回都表明情况如此。您可以使用interp2来填写这些值扫描您提供的测试图像?我使用了我发现的一些随机tif,两张图片看起来非常相似,没有任何“中断”。首先,感谢您的回答。我试过interp2,但没有效果,尽管C并没有像你说的那样完全填充。下面是我所说的例子:第一张图片是正常的,第二张图片是间断的。这一点在我画的红色圆圈中尤为明显。我从来没有将示波器插入相机,所以我不知道为什么你会称之为中断?我猜这只是图像中较暗的部分。。。。你希望在那里看到什么?我在第一张由标准RGB输入生成的图片上没有这些中断,我只在用不同的系数乘以不同的层时得到这些中断。这是不应该发生的,但是,正如Trogdor所说,这很可能是因为C没有完全填充。不过我得想办法解决这个问题。