我目前正在将我在 JAVA 中完成的代码转换为使用某些机器学习算法的 C++。问题是,如果我在 java 下加载图像相对于在 C++ (OpenCV) 中加载它们,某些像素值是不同的。JAVA代码是:
BufferedImage img = ImageIO.read(new java.io.FileInputStream("lena.jpg"));
C++ 代码是:
IplImage *img = cvLoadImage("lena.jpg", CV_LOAD_IMAGE_COLOR );
当我尝试比较像素值时,我得到的差异如下:
图像
169 72 83
174 70 79
183 72 81
188 74 82
缓冲图像
170 63 73
175 65 74
183 72 79
188 74 82
如您所见,这些值相似,但不相同,这会导致机器学习算法出现一些问题。有人有同样的问题吗?