Скрытие определенного канала изображения с помощью C#

У меня есть приложение для обработки изображений, которое может получить пиксели, кто-нибудь знает, как я могу скрыть или показать канал RGB моего изображения? Например, когда я нажимаю кнопку вызова "КРАСНЫЙ", он скрывает красный канал и показывает только синий и зеленый. я использую C# кстати большое спасибо

2 ответа

Решение

Попробуйте библиотеку AForge.NET. Использовать AForge.Imaging.Filters.ChannelFiltering фильтр.

Выделить blank изображение (1 канал) того же размера, что и исходное изображение. Затем при работе с кнопкой нажмите для RED, сделайте следующее:

  • разделить исходное изображение на R, G а также B
  • составить новое изображение, используя blank, G, B (в том порядке, как важен порядок каналов). Это оставляет красный канал
  • показать составленное изображение

Ручка нажатия кнопок для BLUE а также GREEN аналогичным образом.

Методыразделения, составления и отображения распространены в библиотеках обработки изображений. Их точные имена могут отличаться в зависимости от используемой вами библиотеки, но их общая функциональность обычно должна быть одинаковой. Кстати, какую библиотеку вы используете? Вы не упомянули об этом в своем вопросе.

Если вы не используете какую-либо библиотеку для достижения своей цели, вам придется написать свои собственные функции разбиения и компоновки (или что-то в этом роде). Вы должны были бы больше рассказать о структурах данных, которые вы используете, чтобы получить помощь в этом направлении.

Другие вопросы по тегам