Как удалить шум на изображении и заполнить пустые точки фигуры открытым резюме?C#

Место общения программистов C#
Ответить
Anonymous
 Как удалить шум на изображении и заполнить пустые точки фигуры открытым резюме?

Сообщение Anonymous »

Я хочу удалить шум изображения, а также залить всю фигуру черным цветом (показать в виде прямоугольника).
Это исходное изображение. Как можно видеть, в прямоугольнике много шумовых контуров.
Чтобы убрать шум, я попробовал следующее

Код: Выделить всё

               //This image is the original
Mat imgRaw = new Mat(new OpenCvSharp.Size(opencv_image_x, opencv_image_y), MatType.CV_8UC3, Scalar.White);

Mat imgt1 = new Mat(new OpenCvSharp.Size(opencv_image_x, opencv_image_y), MatType.CV_8UC1, Scalar.White);
Mat imgt2 = new Mat(new OpenCvSharp.Size(opencv_image_x, opencv_image_y), MatType.CV_8UC1, Scalar.White);

Mat kernel2 = new Mat();
kernel = Cv2.GetStructuringElement(MorphShapes.Rect, new Size(5, 5));
Cv2.MorphologyEx(imgRaw3, imgt1, MorphTypes.Erode, kernel);

Cv2.CvtColor(imgt1, image_grayC, ColorConversionCodes.BGR2GRAY);

Cv2.ImWrite("Erode.jpg", imgRaw3);

Cv2.MorphologyEx(imgRaw3, imgt2, MorphTypes.Dilate, kernel);
Cv2.ImWrite("dilate.jpg", imgRaw3);

Тогда в результате у меня получилось вот это размытие+расширение. Часть шума, кажется, исчезла, в начале слева от изображения есть линии, которые тоже можно рассматривать как шум. как его можно удалить?
Как соединить все вертикальные линии, чтобы залить прямоугольник вот так?
полный пример
Я пробовал расширить изображение, но не работает должным образом, любой другой метод или способ добиться этого

Подробнее здесь: https://stackoverflow.com/questions/770 ... -with-open
Ответить

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

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

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

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

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