imcomplement

Дополнительное изображение

Синтаксис

J = imcomplement(I)

Описание

пример

J = imcomplement(I) вычисляет дополнение изображения I и возвращает результат в J.

Опционально можно вычислить дополнение изображений использование графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

Примеры

свернуть все

X = uint8([ 255 10 75; 44 225 100]);
X2 = imcomplement(X)
X2 = 2x3 uint8 matrix

     0   245   180
   211    30   155

bw = imread('text.png');
bw2 = imcomplement(bw);
imshowpair(bw,bw2,'montage')

I = imread('cameraman.tif');
J = imcomplement(I);
imshowpair(I,J,'montage')

Считайте цветное изображение в рабочую область.

rgb = imread('yellowlily.jpg');
imshow(rgb)

Отобразите дополнение изображения.

c = imcomplement(rgb);
imshow(c)

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

I = imread('glass.png');
J = imcomplement(gpuArray(I));
imshowpair(I,J,'montage')

Входные параметры

свернуть все

Введите изображение, заданное как RGB, шкала полутонов или двухуровневое изображение.

Чтобы выполнить вычисление с помощью графического процессора, задайте I как gpuArray, который содержит RGB, шкалу полутонов или двухуровневое изображение.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Выходные аргументы

свернуть все

Дополнение изображений, заданное как RGB, шкала полутонов или двухуровневое изображение. J имеет тот же размер и класс как входное изображение, I.

Если дополнение изображений вычисляется с помощью графического процессора, то J возвращен как gpuArray, содержащий RGB, шкалу полутонов или двухуровневое изображение.

Больше о

свернуть все

Дополнение изображений

В дополнении двухуровневого изображения нули становятся единицами, и единицы становятся нулями. Черный и белый инвертируются.

В дополнении полутонового или цветного изображения каждое пиксельное значение вычтено из максимального пиксельного значения, поддержанного классом (или 1.0 для изображений с двойной точностью). Различие используется в качестве пиксельного значения в выходном изображении. В выходном изображении темные области становятся легче, и легкие области становятся более темными. Для цветных изображений красные становятся голубыми, зеленые становятся пурпурным, блюз становятся желтыми, и наоборот.

Советы

  • Если I является шкалой полутонов или изображением RGB класса double, можно использовать выражение 1-I вместо этой функции.

  • Если I является двухуровневым изображением, можно использовать выражение ~I вместо этой функции.

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a