查找像素变化最大的图像区域

时间:2018-09-01 13:44:54

标签: matlab image-processing computer-vision

我正在努力寻找一些算法来从像素变化最大的图像中提取区域。预处理后得到以下图像。 enter image description here

我做了以下预处理步骤

x = imread('test2.jpg');
gray_x = rgb2gray(x);
I = medfilt2(gray_x,[3 3]);
gray_x = I;

%%
canny_x = edge(gray_x,'canny',0.3);
figure,imshow(canny_x);

%%
s = strel('disk',3);
si = imdilate(canny_x,s);
%figure5
figure; imshow(si);
se = imerode(canny_x,s);title('dilation');
%figure6
figure; imshow(se);title('Erodsion');
I = imsubtract(si,se);
%figure7
figure; imshow(I);

基本上,我正在努力的是使用图像处理技术来制作武器检​​测系统。我想将可能的区域定位为武器,以便可以将它们输入到我的分类器中以识别它是否是武器。有什么建议么?谢谢

1 个答案:

答案 0 :(得分:0)

可能的解决方案可能是:

  • 在图像中查找角点(Harris角点等)
  • 将所有拐角点的值设置为白色,而其余图像将为黑色
  • 拍摄一个矩形窗口并遍历整个图像
  • 求和该矩形窗口中的所有白色像素
  • 选择所有区域之和最大的区域