Как преобразовать объект Mat в растровое изображение, сохранив цвет?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как преобразовать объект Mat в растровое изображение, сохранив цвет?

Сообщение Anonymous »

В приложении, которое я разрабатываю, я открываю камеру с помощью OpenCV4Android, используя CameraBridgeViewBase.CvCameraViewListener2, и когда я касаюсь экрана, я устанавливаю этот кадр как изображение внутри ImageView, как показано ниже в коде.
Проблема в том, что изображение, установленное в imageview, всегда имеет другой цвет, чем изображение предварительного просмотра на камере, как показано на рисунке. Я считаю, что эта проблема как-то связана с выполненным мной преобразованием, которое указано в коде ниже.

Мой вопрос: как преобразовать объект Mat в растровое изображение, сохранив тот же цвет?

pic

Изображение
код:

@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
Log.w(TAG, "onCameraFrame");
if (mRGBT != null) {
mRGBT.release();
}

mRGBT = inputFrame.rgba().t();
Core.flip(mRGBT, mRGBT, 1);
Imgproc.resize(mRGBT, mRGBT, inputFrame.rgba().size());

if (touched) {
touched = false;
Imgproc.cvtColor(mRGBT, mRGBT, CvType.CV_8U);
final Bitmap bitmap = Bitmap.createBitmap(mRGBT.cols(), mRGBT.rows(), Bitmap.Config.RGB_565);
Utils.matToBitmap(mRGBT, bitmap);

getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mIV.setImageBitmap(bitmap);
}
});
}

return mRGBT;
}


Подробнее здесь: https://stackoverflow.com/questions/399 ... -the-color
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»