如何搜索灰度图像?

时间:2014-04-25 07:04:25

标签: matlab image-processing

enter image description here我有10个灰度图像< 2559 * 3105>。这些图像取自X射线反射率测量。每个图像除了第一个外都有两个点,表示X射线的强度。第一张图像有一个最高强度点。从第二图像到第十图像,每个图像具有两个斑点,第一个图像与第一图像中的相同,但第二个图像的位置和强度值不同。我想搜索并裁剪这些景点。问题是当我应用查找()图像中最大强度点的条件时,它总是指向所有图像中常见的点。

1 个答案:

答案 0 :(得分:1)

这里有一些基本的图像处理代码,可以让你选择斑点的索引

%# read the image 
im=rgb2gray(imread('a.jpg'));

%# select only relevant area

d=im(5:545,5:660);

%# set a threshold and filter
thres = (max([min(max(d,[],1))  min(max(d,[],2))])) ;
filt=fspecial('gaussian', 7,1);

% reduce noise threshold and smooth the image
d=medfilt2(d);
d=d.*uint8(d>thres);
d=conv2(double(d),filt,'same') ;
d=d.*(d>thres);

% find coonected objets 1
L = bwlabel(d);

%#  or also
CC = bwconncomp(d);

LCC都有关于2个blob的索引的信息,因此您现在可以使用它们仅选择图像的那一部分