Скрытие определенного канала изображения с помощью C#
У меня есть приложение для обработки изображений, которое может получить пиксели, кто-нибудь знает, как я могу скрыть или показать канал RGB моего изображения? Например, когда я нажимаю кнопку вызова "КРАСНЫЙ", он скрывает красный канал и показывает только синий и зеленый. я использую C# кстати большое спасибо
2 ответа
Попробуйте библиотеку AForge.NET. Использовать AForge.Imaging.Filters.ChannelFiltering
фильтр.
Выделить blank
изображение (1 канал) того же размера, что и исходное изображение. Затем при работе с кнопкой нажмите для RED
, сделайте следующее:
- разделить исходное изображение на
R
,G
а такжеB
- составить новое изображение, используя
blank
,G
,B
(в том порядке, как важен порядок каналов). Это оставляет красный канал - показать составленное изображение
Ручка нажатия кнопок для BLUE
а также GREEN
аналогичным образом.
Методыразделения, составления и отображения распространены в библиотеках обработки изображений. Их точные имена могут отличаться в зависимости от используемой вами библиотеки, но их общая функциональность обычно должна быть одинаковой. Кстати, какую библиотеку вы используете? Вы не упомянули об этом в своем вопросе.
Если вы не используете какую-либо библиотеку для достижения своей цели, вам придется написать свои собственные функции разбиения и компоновки (или что-то в этом роде). Вы должны были бы больше рассказать о структурах данных, которые вы используете, чтобы получить помощь в этом направлении.