MatLab中的网格图阈值

时间:2013-11-20 16:43:50

标签: matlab image-processing mesh

我正在使用算法来确定MATLAB中原子核图像分析的阈值。该算法测量核内的所有像素强度,并计算用作截止值以区分背景噪声与前景的值。我知道如何将这个值应用于原子核的图像以查看截止值有什么影响,但我想将阈值应用于网格图。偶然有人知道如何做到这一点我还不能发布图像,但我添加了我的图像分析的示例代码

example image of nucleus

% First I load image
i = imread('nucleus.tif')
% I calculate the value of the threshold using my algorithm using my function
ci99 = getCI99('nucleus.tif')
% say for example that the calculated value is 100. I would apply this threshold to the image of the nucleus with the following command
imshow(picture , [ 100, inf]) % The resulting image only shows pixels at and above the calculated threshold.

我使用以下代码制作核的网格图

% Mesh Plot
I=imread('nucleus.tif');
[x,y]=size(I);
X=1:x;
Y=1:y;
[xx,yy]=meshgrid(Y,X);
i=im2double(I);
figure;mesh(xx,yy,i);
colorbar
figure;imshow(i)

我正在尝试将截止值应用于网格图,类似于将阈值应用于原始图像的方式。

我真的很感激任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

查看Matlab clim function

你应该可以这样做:

clim([min_threshold max_threshold]);

您还可以通过按住轴手柄(有点像指针)来访问特定的图表

fig1 = figure;
ax1  = mesh(xx,yy,i);
colorbar;

fig2 = figure;
ax2  = imshow(i);

set(ax1, 'clim', [100, inf]);

保持轴手柄可以随时在任何图上设置参数,而不是只处理你正在使用的最后一个。

最后注意:尝试图像功能而不是imshow。它不完全相同,但您可能会发现根本不需要使用图像处理工具箱。