2015-06-07 2 views
1

Моя проблема заключается в следующем. У меня есть одна «фоновая» картина (BF), и я хочу наложить контурную линию некоторых бактерий, которые я уже идентифицировал (CT). Я хочу сделать так, чтобы BF оставался в оттенках серого и CT в некотором цвете. Оба находятся в формате «.png»Оверлейные изображения получают диммер

Мне это удается, но фон становится темнее, и поскольку я хотел бы добавить 2/3 отдельных CT с разными цветами, чтобы идентифицировать разные подгруппы, хуже. Может кто-нибудь мне помочь?!?!

BF

background - BF

КТ

Contour line - CT

Предохранитель

Fused

BF = imread(filename_BF); 
CT = imread(filename_CT); 
CT2 = cat(3, zeros(size(CT)), CT, zeros(size(CT))); 

X = imfuse(CT2, BF, 'blend'); 
imwrite(Fuse, filename_Fuse); 

Код очень прост. Как будто когда изображения слиты, где CT равно 0, фон BF вычитается бит. Я хочу только иметь зеленые линии от КТ-карты над BF.

Заранее спасибо.

ответ

2

Вы можете создать изображение вручную. Я предполагаю, что BF - это три канала, а CT Background - 0, а CT - один канал.

X = BF; 
[r,c] = find(CT>0); 
X(sub2ind(size(X),r,c,ones(size(r))*1)) = 0; 
X(sub2ind(size(X),r,c,ones(size(r))*2)) = 255; 
X(sub2ind(size(X),r,c,ones(size(r))*3)) = 0; 
imshow(X); 

Результат:

enter image description here

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