JavaCV将位图转换为灰色提供了重复的图像输出

JavaCV将位图转换为灰色提供了重复的图像输出,java,android,opencv,javacv,Java,Android,Opencv,Javacv,我想将位图转换为灰色位图: private-Bitmap-toGray(位图位图){ int w=bitmap.getWidth(); int h=bitmap.getHeight(); IplImage IplImage=IplImage.create(w,h,IPL_DEPTH_8U,4); copyPixelsToBuffer(iplImage.getByteBuffer()); IplImage iplImageDest=IplImage.create(w,h,IPL_DEPTH_8U,

我想将位图转换为灰色位图:

private-Bitmap-toGray(位图位图){
int w=bitmap.getWidth();
int h=bitmap.getHeight();
IplImage IplImage=IplImage.create(w,h,IPL_DEPTH_8U,4);
copyPixelsToBuffer(iplImage.getByteBuffer());
IplImage iplImageDest=IplImage.create(w,h,IPL_DEPTH_8U,1);
CVT颜色(iplImage、iplImageDest、CV_RGB2GRAY);
返回到ITMAP(iplImageDest);
}
专用静态位图toBitmap(IplImage IplImage){
int w=iplImage.width();
inth=iplImage.height();
位图Bitmap=Bitmap.createBitmap(w,h,Bitmap.Config.ALPHA_8);
copyPixelsFromBuffer(iplImage.getByteBuffer());
返回位图;
}
输出:

  • 左:原始图像
  • 右:生成的图像,问题:图像顶部的灰色图像重复,底部为空


获取此复制图像时我做错了什么?

您使用不推荐的OpenCV 1类型和构造函数有什么特别的原因吗?感谢您的回答,我使用的是JavaCV v1.3.2而不是直接OpenCV。既然图像深度为4,您不应该使用
CV_RGBA2GRAY
吗?我切换到了CV_RGBA2GRAY,我看不到任何更改。。