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

时间:2012-10-10 14:53:25

标签: image-processing bufferedimage iplimage

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

当我尝试比较像素值时,我得到的差异如下:

IplImage

169 72 83 
174 70 79 
183 72 81 
188 74 82 

的BufferedImage

170 63 73
175 65 74
183 72 79
188 74 82

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

1 个答案:

答案 0 :(得分:0)

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