比较2帧的视频

8视图(30天)
ArianaLaverly
ArianaLaverly 2021年6月16日
评论道: ArianaLaverly2021年6月17日
我想比较首先从原始视频帧视频和编辑视频,当我比较r和r2它总是显示错误:
错误在psnr(3号线)
original_img =双(original_img);
输出参数“MSE”(或者其他人)不是分配在调用“psnr值”。
错误videoStego(第186行)
[P, MSE] = psnr (r, r2);
但是如果我比较其他变量,如r和b2, g r2,等它顺利进行。这是我的代码:
ori = VideoReader (“Ori.avi”);
帧=阅读(ori, 1);
img =框架(:,:,:1);
r = img (:,: 1);
g = img (:,:, 2);
b = img (:,:, 3);
编辑= VideoReader (“Edited.avi”);
frame2 =阅读(v, 1);
img2 = frame2 (:,:,: 1);
r2 = img2 (:: 1);
g2 = img2 (:: 2);
b2 = img2 (:: 3);
[P, MSE] = psnr (r, r2);
这里是psnr代码:
函数(P, MSE) = psnr (original_img stego_img)
original_img =双(original_img);
stego_img =双(stego_img);
如果(original_img = = stego_img)
PSNR值= 100;
其他的
m =大小(original_img, 1);
n =大小(stego_img 2);
d = 0;
我= 1:m - 1
j = 1: n - 1
d = d + (original_img (i, j)——stego_img (i, j))。^ 2;
结束
结束
MSE = d / (m * n);
MAX = MAX (abs (original_img (:)));
PSNR = 10 * log10 (MAX ^ 2 / MSE);
结束
P = PSNR值;

接受的答案

斯蒂芬
斯蒂芬 2021年6月17日
试一试:
函数(P, MSE) = Untitled (original_img stego_img)
original_img =双(original_img);
stego_img =双(stego_img);
如果(original_img = = stego_img)
PSNR值= 100;
MSE = 0;%添加这一行
其他的
m =大小(original_img, 1);
n =大小(stego_img 2);
d = 0;
我= 1:m - 1
j = 1: n - 1
d = d + (original_img (i, j)——stego_img (i, j))。^ 2;
结束
结束
MSE = d / (m * n);
MAX = MAX (abs (original_img (:)));
PSNR = 10 * log10 (MAX ^ 2 / MSE);
结束
P = PSNR值;
结束
1评论
ArianaLaverly
ArianaLaverly 2021年6月17日
omg是的我忘了添加,谢谢先生!

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!