简体   繁体   English

Matlab文档中场景更改检测示例中的“矩阵尺寸必须一致”错误

[英]“Matrix dimensions must agree ” error in Scene change detection example in Matlab documentation


I am using Matlab's scene change detection example given on the Mathwork website. 我正在使用Mathwork网站上给出的Matlab 场景更改检测示例 The code runs fine till the last leg where is is showing following error: 代码运行良好,直到最后一站显示以下错误:

Error using - 使用-时出错
Matrix dimensions must agree. 矩阵尺寸必须一致。 Error in scenechange (line 65) 场景变更错误(第65行)
edge_diff = abs(mean_blks - mean_blks_prev); edge_diff = abs(mean_blks-mean_blks_prev);

Line of error is: 错误行是:

edge_diff = abs(mean_blks - mean_blks_prev);

I checked the dimensions. 我检查了尺寸。 They are: 15 1 and 70 1 . 它们是: 15 170 1
Anyone tried the example and got this error? 任何人都尝试过该示例并得到此错误? How do I fix this error? 如何解决此错误?

Try this: 尝试这个:

len_mean_blks      = length(mean_blks);
len_mean_blks_prev = length(mean_blks_prev);

if len_mean_blks < len_mean_blks_prev
    padded_mean_blks                  = nan(len_mean_blks_prev, 1);
    padded_mean_blks(1:len_mean_blks) = mean_blks;
    edge_diff = abs(padded_mean_blks - mean_blks_prev);
elseif len_mean_blks > len_mean_blks_prev 
    padded_mean_blks_prev                       = nan(len_mean_blks, 1);
    padded_mean_blks_prev(1:len_mean_blks_prev) = mean_blks_prev;
    edge_diff = abs(mean_blks - padded_mean_blks_prev);
end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM