作者:时间熔金-岁月铅华_758 | 来源:互联网 | 2023-05-17 12:47
Drawable drawable = idToDrawable(R.drawable.p4);
Bitmap bitmap = this.drawableToBitmap(drawable);
// 将Bitmap转化为IplImage
IplImage iplImage = this.bitmapToIplImage(bitmap);
// 处理图像,比如旋转图像
cvFlip(iplImage, iplImage, 0);
// 再将IplImage转化为Bitmap
bitmap = this.IplImageToBitmap(iplImage);
/**
* IplImage转化为Bitmap
* @param iplImage
* @return
*/
public Bitmap IplImageToBitmap(IplImage iplImage) {
Bitmap bitmap = null;
bitmap = Bitmap.createBitmap(iplImage.width(), iplImage.height(),
Bitmap.Config.ARGB_8888);
bitmap.copyPixelsFromBuffer(iplImage.getByteBuffer());
return bitmap;
}
/**
* Bitmap转化为IplImage
* @param bitmap
* @return
*/
public IplImage bitmapToIplImage(Bitmap bitmap) {
IplImage iplImage;
iplImage = IplImage.create(bitmap.getWidth(), bitmap.getHeight(),
IPL_DEPTH_8U, 4);
bitmap.copyPixelsToBuffer(iplImage.getByteBuffer());
return iplImage;
}
/**
* 将资源ID转化为Drawable
* @param id
* @return
*/
public Drawable idToDrawable(int id) {
return this.getResources().getDrawable(R.drawable.p4);
}
/**
* 将Drawable转化为Bitmap
* @param drawable
* @return
*/
public Bitmap drawableToBitmap(Drawable drawable) {
if(drawable == null)
return null;
return ((BitmapDrawable)drawable).getBitmap();
}
}