For whatever reason, switching the Mat Declaration to the one shown seemed to fix the problem, for anyone who finds this in the future.
Code:
public static Mat bufferedImageToMat(BufferedImage i) {
byte[] pixels = ((DataBufferByte) i.getRaster().getDataBuffer()).getData();
Mat img = new Mat();
img = new Mat(new Size(i.getWidth(), i.getHeight()), CvType.CV_8UC3);
img.put(0, 0, pixels);
return img;
}