Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 基于颜色的最大强度投影_Matlab_Image Processing_Particles - Fatal编程技术网

Matlab 基于颜色的最大强度投影

Matlab 基于颜色的最大强度投影,matlab,image-processing,particles,Matlab,Image Processing,Particles,大家好,我有一堆荧光标记粒子的图像,它们在时间中移动。imagestack是灰度的 我计算了一个最大强度投影,通过取第三维度中图像堆栈的最大值 Example: ImageStack(x,y,N) where N = 31 image frames. 2DProjection = max(ImageStack,[],3) 现在,由于2D投影图像是黑白的,我希望指定一个颜色梯度,这样我就可以感觉到粒子在时间中的流动。有没有一种方法可以用颜色覆盖这个图像,这样我就可以知道粒子从哪里开始,在哪里结

大家好,我有一堆荧光标记粒子的图像,它们在时间中移动。imagestack是灰度的

我计算了一个最大强度投影,通过取第三维度中图像堆栈的最大值

Example:
ImageStack(x,y,N) where N = 31 image frames.

2DProjection = max(ImageStack,[],3)
现在,由于2D投影图像是黑白的,我希望指定一个颜色梯度,这样我就可以感觉到粒子在时间中的流动。有没有一种方法可以用颜色覆盖这个图像,这样我就可以知道粒子从哪里开始,在哪里结束


谢谢

您可以使用
max
的第二个输出来获取特定最大值来自哪个帧
max
返回一个索引矩阵,该矩阵指示每个最大值的索引,在您的情况下,该索引矩阵将是它发生的特定帧。如果将其与
imagesc
功能一起使用,您将能够绘制粒子如何随时间移动。例如:

ImageStack(x,y,N) where N = 31 image frames.

[2DProjection,FrameInfo] = max(ImageStack,[],3);
imagesc(FrameInfo);
set(gca,'ydir','normal'); % Otherwise the y-axis would be flipped

在给每个图像着色后,可以将每个图像的明亮像素相加。这样,您将在重叠区域上使用混合颜色,而您将无法使用max函数。虽然我比我更喜欢前面的答案

hStep = 1/N;
currentH = 0;
resultImage = uint8(zeros(x,y,3));
for i = 1 : N
   rgbColor = hsv2rgb(currentH,1,0.5);
   resultImage(:,:,1) = resultImage(:,:,1) + im(:,:,i) * rgbColor(1);
   resultImage(:,:,2) = resultImage(:,:,2) + im(:,:,i) * rgbColor(2);
   resultImage(:,:,3) = resultImage(:,:,3) + im(:,:,i) * rgbColor(3);
   currentH = currentH + hStep;
end

你说的颜色渐变是什么意思?是否要根据2D投影中的像素强度设置颜色栏?为什么colormap(jet)或colormap(hot)不适用于您的案例?谢谢,这个颜色表示时间。所以蓝色是第1帧(第一个时间点),红色是第31帧(最后一个时间点)。二维投影将成为粒子跟随的轨迹。我试着用颜色来形象化粒子的起始和结束位置,重点基本上是获得粒子在时间中流动的感觉。我不确定是否最好的方法是叠加颜色。但我认为这可能是第一次开始。这是一个非常巧妙、快速的解决方案。非常感谢。看起来也没那么糟。如果您对这样的分析有任何其他想法,我很乐意听听。非常感谢您的帮助,我从您的代码中学到了一些新东西。正如我在上一张海报上所说的,如果您对这样的流分析有任何其他想法,我很乐意听听。再次感谢!感谢您尝试改进我对另一个问题的回答,尽管它被主持人拒绝了,但他们可能认为它更适合作为评论+1.谢谢你的回答。谢谢