MergeMertens クラスを使用して、Android に OpenCV 3.0.0 で Exposure Fusion を実装しようとしています。問題は、画像が青で返されることです。これがどのように見えるかのスクリーンショットです: http://take.ms/agYSD
ファイルの RGB/BGR 表現に問題があると思います。マージを適用する前後にRGBからBGRに、またはその逆に変換しようとしましたが、とにかく色に問題がありました。
グレースケールの画像を使用している場合は、すべて問題ありません。
私が使用しているコードは次のとおりです。
public void process(String[] InFiles, float[] InTimes, String OutImage) {
List<Mat> images = new ArrayList<Mat>();
String path = Environment.getExternalStorageDirectory().toString() + "/" + _App.getPackageName() + "/";
Mat hdrImage = new Mat();
Mat ldrImage = new Mat();
Mat times = new MatOfFloat(InTimes);
for(int i = 0; i < InFiles.length; i++) {
Mat m = Imgcodecs.imread(path + InFiles[i]);
images.add(m);
}
Photo.createMergeMertens().process(images, hdrImage);
Core.multiply(hdrImage, new Scalar(255.0), ldrImage);
Imgcodecs.imwrite(path + OutImage, ldrImage);
}