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