Yes, the c++ side is like this, no matter what I do, it stays the same ( at least in the output)
update:
it turns out after the very same input was used (i.e. used cv both in python and c++ to read the image)
the channels had to be the same as well. the stupid me had placed the cv::cvtColor(image, image, cv::COLOR_BGR2RGB); after I have resized the image into a new object and thus it took me 14 hours to spot this stupid mistake of mine! after the channels order were fixed, everything became identical both in Python and C++.
So the gist of this post is, use the very same library for reading/dealing with images in Python and C++. using PIL and converting it to numpy is not the same as using cv from scratch! (specially if you have done some random operations such as resize, etc in PIL, etc. they yeild slightly different results, which is more than enough in some cases to send your outputs haywire! and waste your time until you realize this simple mistake!!!
Hope this prevents others from doing the very same mistake !
God bless you all!