使用IplImage (C++)和BufferedImage (JAVA)提取不同的像素值



我目前正在将我在 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

如您所见,这些值相似,但不相同,这会导致机器学习算法出现一些问题。有人有同样的问题吗?

Jpeg 解码器库实现可能有所不同。问题不大。

相关内容

  • 没有找到相关文章

最新更新