Что такое пороговый алгоритм GIMP? - PullRequest
0 голосов
/ 17 мая 2019

Я новичок в opencv, и я пытаюсь пороговое изображение, как приложение GIMP, но я не знаю алгоритм порога GIMP.Я пытаюсь «пороговый» метод в opencv, но результаты разные.Может ли кто-нибудь мне помочь?

Я использую opencv-3.4.3.

Mat image = imread("myimage.png");
Mat ths;
threshold(image, ths, 180, 255, THRESH_BINARY);
imwrite("ths-image.png", ths);

opencv 'threshold' и результаты GIMP 'threshold' не совпадают.

Редактировать # 1

Входное изображение: Входной файл

Преобразовать в HLS Файл HLS

GIMPпороговое изображение с threshold value = 210 результатом GIMP

Преобразование HLS в серый для порога процесса OpenCV HLS2Gray

OpenCV THRESH_BINARY с threshold value = 210 TRESH_BINARY

OpenCV THRESH_TRUNC с threshold value = 210 THRESH_TRUNC

OpenCV THRESH_TOZERO с threshold value = 210 THRESH_TOZERO

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Вот два способа оцифровки изображения с помощью Imagemagick.

Первый преобразует изображение в цветовое пространство HCL и извлекает канал Chroma (насыщенность) (пронумерованный как H = 0, C = 1, L = 2). Далее растягивает изображение до полного динамического диапазона. Затем, наконец, делает простой порог.

convert img.png -colorspace HCL -channel 1 -separate +channel -auto-level -threshold 57% result1.png


enter image description here

Второй просто преобразует цвета, близкие к желтому, в белый, а все остальные - в черный.

convert img.png -fuzz 10% -fill white -opaque "rgb(229,207,70)" -fill black +opaque white result2.png


enter image description here

Я не знаю, что делает GIMP. Кроме того, я не могу воспроизвести ваш результат, используя GIMP и указанное вами значение 210.

Вот что я получаю от GIMP:

enter image description here

Я подозреваю, что GIMP преобразуется в HSV, когда находится в режиме значения, и просто порождает V-канал. Вот что с использованием эквивалентных команд Imagemagick (с использованием 210/255 = 82,35%)

convert img.png -colorspace HSV -channel 2 -separate +channel -threshold 82.35% IM_threshold_210.png


enter image description here

Они выглядят для меня почти одинаково.

0 голосов
/ 18 мая 2019

OpenCV имеет несколько способов интерпретации порогового значения. В настоящее время он установлен на THRESH_BINARY. Возможно, один из других методов лучше напоминает то, что вы видите в GIMP:

enter image description here

Это изображение показывает выходные данные различных методов с пороговым значением 127.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...