Я использую внутреннюю константу colormatrix от Renderscript, чтобы применить фильтр Sepia, однако он превращает все изображение в зеленый цвет, вместо того, чтобы придать ему желтоватый оттенок (Sepia). Ответ этой темы - моя текущая основа для тестирования (http://answers.opencv.org/question/99510/opencv4android-31-mat-to-allocation-renderscript/). Растровое изображение превращается в OpenCV Мат затем в Allocation и перешли на Renderscript где следующее внутреннее делает свою работу:Применение Sepia через Renderscript ScriptIntrinsicColorMatrix превращает изображение в оттенки зеленого
Element element = Element.RGBA_8888(mRS);
ScriptIntrinsicColorMatrix colorMatrix = ScriptIntrinsicColorMatrix.create(mRS, element);
final Matrix4f mSepia = new Matrix4f(new float[]{
0.189f, 0.769f, 0.393f, 0f,
0.168f, 0.686f, 0.349f, 0f,
0.131f, 0.534f, 0.272f, 0f,
0.000f, 0.000f, 0.000f, 1f});
colorMatrix.setColorMatrix(mSepia);
colorMatrix.forEach(inputAllocation, outputAllocation);
исключить ошибку в этой сложной Bitmap к мату процесса распределения, потому что, когда я пытался запустив встроенный Bitmap непосредственно через несколько недель назад, я получил ту же самую проблему с зеленым оттенком.
Я предполагаю, что это должен быть вектор (R, G, B, A), который затем умножается на Матрицу, которую я дал, но на пути должно происходить что-то подозрительное.
Кто-нибудь знает, что здесь происходит?
является источником растрового изображения из файла или камеры? Если камера не должна быть в формате YUV? –
Он исходит из растрового изображения из файла. Когда я сделал это несколько недель назад, я превратил OpenCV Mat rgba в Bitmap argb_8888 и получил ту же проблему. – AllBecomesGood
Обновление: я получаю тот же странный зеленый оттенок при потоковой передаче непосредственно из Camerafeed и позволяя Renderscript делать преобразования (YUV в RGB, а затем применять colormatrix и преобразовывать в растровое изображение, чтобы показывать на экране). Я подозрительно отношусь к битмапсам, возможно, способ, которым он сохраняет пиксели, отличается и вызывает странность. – AllBecomesGood