gpt4 book ai didi

android - 1 channel iplimage -> Android 位图

转载 作者:行者123 更新时间:2023-12-02 16:43:09 25 4
gpt4 key购买 nike

我需要在 Android 位图中转换 1 channel iplimage(灰色)。我有:

IplImage aux = IplImage.create(senal_gray.width, senal_gray.height, IPL_DEPTH_8U, 4); 
cvCvtColor(senal_gray, aux, CV_GRAY2BGRA);
Bitmap bm = Bitmap.createBitmap(aux.width, aux.height, Bitmap.Config.ARGB_8888);
bm.copyPixelsFromBuffer(aux.getByteBuffer());

我认为问题出在 channel 的顺序上,因为使用这段代码我得到了一张半透明的图片。也许我需要更改“aux”中的 channel 顺序以获得 ARGB 顺序并检查位图配置(ARGB_8888)。这可能吗?

最佳答案

我从未使用过适用于 Android 的 OpenCV 绑定(bind),但这里有一些代码可以帮助您入门。将其视为伪代码,因为我无法尝试...但您会了解基本概念。

public static Bitmap IplImageToBitmap(IplImage src) {
int width = src.width;
int height = src.height;
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
for(int r=0;r<height;r++) {
for(int c=0;c<width;c++) {
int gray = (int) Math.floor(cvGet2D(src,r,c).getVal(0));
bitmap.setPixel(c, r, Color.argb(255, gray, gray, gray));
}
}
return bitmap;
}

关于android - 1 channel iplimage -> Android 位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com