在 OpenCV 里我们可以通过 imread() 读取一张图片的rgb数据到内存。
在 Android 的应用中,我们也可以通过读取一张图片到 Bitmap,进而获取图片的rgb数据。
但是需要注意的是,OpenCV 和 Android 在内存中存储的rgb顺序并不相同,而且恰恰相反。
android:
int B = src[pos * 4 + 0] & 0xff;
int G = src[pos * 4 + 1] & 0xff;
int R = src[pos * 4 + 2] & 0xff;
opencv:
与上面相反。
其实,rgb的顺序往往不是很重要。只是我们在 Android 应用中使用 OpenCV 的时候,要知道这一点。