How can I plot a sequence of images into one image using one colorscale as indicator of sequence position (Intensity-over-time)?

4 ビュー (過去 30 日間)
Hello,
I want to see an intensity-over-time profile of an image sequence (i.e. the bleaching of a fluorophore over time). I created a 1x300 cell array of images á 128x128 pixel. Each cell resembles a frame of the sequence. Afterwards I subtracted the last frame from all other frames. Now, I want to encode the sequence position with one color to generate a single image with the information when the fluorophore bleached.
In short: I want to plot all images into one merged image, but coded with a color scale in that way, that i see from which sequence number the image came from.
I'm quite a beginner in MatLab, sorry for the missing technical terms. thanks!

採用された回答

Image Analyst
Image Analyst 2012 年 7 月 2 日
Use jet(300) or some colormap to get an array of 300 colors, which is one unique color for each of your frames.
myColorMap = jet(300);
Then for each frame, convert to black and white, multiply by the colors for that frame. Something like
rgbForThisFrame{frameNumber} = cat(3, myColorMap(1)*grayImage, myColorMap(2)*grayImage, myColorMap(3)*grayImage);
Then average all 300 color images together to get the one color image that represents them all.
  1 件のコメント
Janett Göhring
Janett Göhring 2012 年 7 月 4 日
編集済み: Janett Göhring 2012 年 7 月 4 日
thanks a lot, that worked fantastically!
For averaging I used following method:
a=zeros(128,128,3);
for i=1:300,
a=a+rgbForThisFrame{i};
end
a=a/299;

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by