2016-03-21 3 views
-2

Привет Я разрабатываю приложение для камеры, в котором я должен выполнять черно-белую обработку изображений. Я изучил и нашел только обработку изображений в масштабе серого. Я хочу преобразовать свое изображение в черно-белое, как сканер камеры. Также я попытался с openCv, но результат не соответствует нашим ожиданиям. Если кто-нибудь решил это, пожалуйста, дайте мне знать. Спасибо.Обработка черно-белых изображений Android

+1

Можете ли вы объяснить, что означает обработка черно-белого изображения и почему оттенки серого не являются черно-белым изображением? Также отправьте образец ввода вашего кода и желаемого вывода – EdChum

+0

Я также использую обработку изображений в виде серого цвета, плюс мне нужна обработка черно-белого изображения. Если у вас есть сканер Cam, вы можете это проверить. – Karthik

+0

Затем вы говорите о пороговых значениях оттенков серого, таких как sobel/laplacian или другие виды обнаружения края, на данный момент ваш вопрос слишком широк, поскольку вы не показали, что вы пробовали – EdChum

ответ

0

Вы начнете с массива grayvalue int [] или byte [] с значениями интенсивности в диапазоне [0, 255]. То, что вам нужно, это пороговое значение, так что все пиксели с интенсивностью ниже этого порога устанавливаются на черный (0), а все пиксели с интенсивностью, равной или превышающей этот порог, устанавливаются на белый (255). Для обеспечения оптимального порога Otsu method является хорошо установленным подходом. Это довольно интуитивно. Поскольку порог будет делить пиксели на два подмножества, вы принимаете это пороговое значение, которое минимизирует дисперсию внутри двух подмножеств, что равносильно максимизации дисперсии между двумя подмножествами. Как видно из ссылки Википедии, расчет довольно прост, они также предоставляют код Java. Я тоже работаю с этим, и он довольно эффективен.

+0

Я попытаюсь прокомментировать мои результаты. Спасибо. – Karthik

Смежные вопросы