I was going through the implementation of cornerHarris() of opencv. As per the harris corner detection algorithm, we need to apply either box/gaussian filter of a kernel size(e.g 3x3 or 5x5) over each of the Ix^2,Ixy,Iy^2 matrix. But in opencv implementation I have noticed that those three values are interleaved and then box filter is being applied on this resultant matrix. What is the reason behind that? Why separately ,box filter was not applied on the data? I am not able to understand how applying a filter over interleaved data is same as applying filter over the data separetely?