我有10个灰度图像< 2559 * 3105>。这些图像取自X射线反射率测量。每个图像除了第一个外都有两个点,表示X射线的强度。第一张图像有一个最高强度点。从第二图像到第十图像,每个图像具有两个斑点,第一个图像与第一图像中的相同,但第二个图像的位置和强度值不同。我想搜索并裁剪这些景点。问题是当我应用查找()图像中最大强度点的条件时,它总是指向所有图像中常见的点。
答案 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);
L
和CC
都有关于2个blob的索引的信息,因此您现在可以使用它们仅选择图像的那一部分