简体   繁体   中英

“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. 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)
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 .
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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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