I\'m trying to rebuild some preprocessing I have done before in Gimp, using OpenCV. The first stage is a Sobel filter for edge detection. It works very well in Gimp:
Sobel is commonly used in both the X and Y directions, then combined to produce a 2D vector per pixel. That is, it gives the gradient at each pixel in 2D (apologies if you already get this, but it makes what I'm about to say clearer).
How exactly a 2D vector is represented in a single pixel is open to interpretation. From these images, it looks like OpenCV is highlighting horizontal lines more than Gimp, and Gimp is highlighting vertical lines more than OpenCV.
Given that your images are colour, there is some interpretation of this vector in RGB. I would compare the values of individual pixels in RGB space between images to see how they are being modelled. You might just need to shift the components around.