Я пытаюсь использовать оболочку OpenCvSharp , чтобы выполнить базовую c обработку изображений. Моя цель - добавить гауссовский шум к изображению . Это мой код:
Mat src = new Mat("C:\\imgs\\a.jpg", ImreadModes.Grayscale);
Mat result = new Mat(src.Size(), src.Type());
Mat noise = new Mat(src.Size(), src.Type());
Cv2.Randn(noise, 128, 50); //Gaussian Noise
result = src + noise; //Apply noise to image
Cv2.Normalize(result, result, 0.0, 255.0);
Исходное изображение имеет тип CV_8UC1 . Если я не применяю нормализацию, я получаю исходное изображение с шумом, но оно подвергается чрезмерной экспозиции . Вот почему я хочу нормализовать изображение.
Изображения:
Шум:
Результат:
В идеале я хотел бы работать с изображениями в диапазоне от 0,0 до 1,0, но пока я просто хочу визуализировать шум в исходном изображении. Есть идеи, что я могу делать не так?