Matlab 特征地图生成

Matlab 特征地图生成,matlab,image-processing,feature-detection,feature-extraction,feature-selection,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

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

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

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');
以上代码的输出如下

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

上面的特征映射是从下面的边缘图像生成的

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

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

下面的算法来自一篇论文。他们展示了那个球图像的实验结果

即使是那个纸上的球图像,我也只取了打印屏幕并将其保存为.png图像,并在代码中使用它

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

在我的代码中,水平投影和垂直投影是否正确


在对水平和垂直投影进行阈值化处理时,投影结果将变成二值图像。因此,我是否应该使像素低于阈值0,并保持其他像素不变,因此它将保持为灰度图像?

发布球图片。您是如何选择特征图生成方法的?首先,很抱歉回复得太晚。我不知道如何生成特征图。本文提出“计算边缘图像的水平和垂直投影,并借助水平和垂直阈值去除其他方向性边缘,将水平和垂直边缘图像合并,生成特征图”。我只是将水平和垂直边缘图像结合起来,我认为其结果本身就是特征图,但事实并非如此。如何在评论中发布图片?“我应该把它作为一个单独的问题发布吗?”Lokesh首先对迟来的答复表示抱歉。我不知道如何生成特征图。本文提出“计算边缘图像的水平和垂直投影,并借助水平和垂直阈值去除其他方向性边缘,将水平和垂直边缘图像合并,生成特征图”。我只是将水平和垂直边缘图像结合起来,我认为其结果本身就是特征图,但事实并非如此。如何在评论中发布图片?我应该把它作为一个单独的问题发布吗?你可以在同一个问题中添加图片。继续编辑问题。