特征图生成

时间:2014-01-27 05:07:34

标签: matlab image-processing feature-detection feature-extraction feature-selection

我需要为我的项目生成功能图。首先,我需要获取输入图像并将其转换为强度图像。然后根据标准偏差进行边缘检测。

然后我必须计算水平和垂直投影,然后我必须生成特征图。我写了下面的代码。

in_img=imread('ball.png');

yuv=rgb2hsv(in_img);
c=yuv(:,:,3); % i have used hsv conversion in hsv v channel gives intensity image
edge1=edge_std(c); %edge_std is based on the standard deviation formula given in the
%paper

ver=imfilter(edge1,[-1 0 1]);
%ver=sum1(edge1,1);
%hor=sum(edge1,2);
hor=imfilter(edge1,[-1 0 1]');

h_mean=mean2(hor);%horizontal threshhold
v_mean=mean2(ver);%vertical threshhold

hor(hor>=h_mean)=1;
ver(ver>=v_mean)=1;
bw=imadd(hor,ver);
imshow(bw),title('feature map');

上面代码的输出是这个

the output is here

但是这个输入图像的特征图应该如下所示 enter image description here

以上边缘图像生成上面的特征图

enter image description here

有谁能告诉我这里出了什么问题。我的功能图生成错了吗?如果是,那么如何生成要素图?我怎样才能获得上面的输出?

请参阅以下算法。我不知道什么是特征映射以及如何生成它。我被困在特征地图生成中。

以下算法来自一篇论文。他们已经展示了该球图像的实验结果。

即使是来自该纸张的球形图像,我也只使用了打印屏幕并将其保存为.png图像并在我的代码中使用它。

请告诉我这个算法中的特征映射是什么以及如何生成它?输入是什么?它是类(二进制,灰度等)

enter image description here enter image description here enter image description here enter image description here

我的代码中水平投影和垂直投影也是正确的吗?

当阈值水平和垂直投影结果将成为二进制图像时。那么我应该将像素设置为低于阈值0并保持其他像素不变,因此它将保持为灰度图像吗?

0 个答案:

没有答案