Stream "on the fly" from matrix
You can of course use the Arrays.stream() (twice, because it's a 2D array)

Something along these lines: 

private Stream&lt;Pixel&gt; stream() {
  return Arrays.stream(pixels).flatMap(Arrays::stream);
}