Opencv Split und Wert in diesem Kanal in Android ändern
Ich möchte die Helligkeit des Rahmens in einer OpenCV-Kamera anpassen, die mRgba heißt. Nachdem ich den Kanal des Labors geteilt habe. Ich hoffe, den L-Kanal anpassen zu können, weiß aber nicht, wie ich den Wert im L-Kanal ändern kann.
Mat lab_image = new Mat();
//mRgba is the frame which shows in the camera
Imgproc.cvtColor(mRgba, lab_image, Imgproc.COLOR_mRGBA2RGBA);
Imgproc.cvtColor(lab_image, lab_image, Imgproc.COLOR_RGBA2RGB);
Imgproc.cvtColor(lab_image, lab_image, Imgproc.COLOR_RGB2Lab);
// Extract the L channel
List<Mat> lab_list = new ArrayList(3);
Core.split(lab_image,lab_list);
//lab_list.get(0).copyTo(mRgba);
Mat result_image = new Mat();
Core.merge(lab_list,result_image);
Imgproc.cvtColor(result_image, mRgba, Imgproc.COLOR_Lab2RGB);
Imgproc.cvtColor(mRgba, mRgba, Imgproc.COLOR_RGB2RGBA);
Imgproc.cvtColor(mRgba, mRgba, Imgproc.COLOR_RGBA2mRGBA);
Ich versuche, setTo () zu verwenden, um die Farbe festzulegen, aber es ändert die gesamte Farbe.
lab_list.get(0).setTo(new Scalar(255,255,255,0.1));
Ich möchte einen Mehrwert schaffen, um die gesamte Helligkeit zu erhöhen. Ich hoffe, das Endergebnis kann das folgende Foto sein. Bitte helfen Sie mir. Danke