• 大小: 3.14 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-20
  • 语言: 其他
  • 标签: 船舶  目标识别  

资源简介

检测海上或者内行航道上的红外船舶目标 目标分割采用的是边缘信息 注释清晰 适合初学者

资源截图

代码片段和文件信息

tic
clear
str=‘F:\matlab\an\bin\tupian\目标图片\正样本\‘;
str1=‘F:\matlab\an\bin\tupian\目标图片\负样本\‘;
SAVE_train=[72 9];%设定目标矩阵 以作训练样本;62个样本 每个样本7个特征
i_SAVE_train=1;
SAVE_train_label=[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
    1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
    0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
    1 0 1 0 1 0 1 0 1 0 ];
%SAVE_train_label=double(SAVE_train_label);
SAVE_train_label=SAVE_train_label‘;%将SAVE_train_label转置为列向量 以符合SVM数据训练的格式要求
%[mm nn]=size(SAVE_train_label);disp(mm);
test_train_label=1;%假设所有的测试样本均为1类并根据判断的正确率来选择最终属于哪一类

%% 求目标的特征
for i0=1:36
    I=imread([strnum2str(i0)‘.jpg‘]); %依次读取每一幅图像
    I1=imread([str1num2str(i0)‘.jpg‘]); %依次读取每一幅图像
    I=imresize(I[80 160]);%将样本化为统一大小
    I1=imresize(I1[80 160]);%将样本化为统一大小
    %figure;imshow(I);
    %I=double(rgb2gray(I));
    %I1=double(rgb2gray(I1));
    %I=adapthisteq(I);
    %I1=adapthisteq(I1);
    
    %% 求不变矩,作为目标的特征
    %hu=M_GetImageHuJu(I);
    %hu=Hu_MV_Nicolas(I);
    I=rgb2gray(I);
    I=imadjust(I[0 1][1 0]);%取反操作
    I=imadjust(I);%增强对比度
    %I=edge(I‘sobel‘);
    %figure;imshow(I);
     
%     se90=strel(‘line‘390);
%     se0=strel(‘line‘30);
%     se = strel(‘disk‘10);
%     I=imclose(Ise);
    %figure;imshow(I);
    
    [m0 n0]=size(I);
    for i1=1:m0
       for j1=1:n0
        if I(i1j1)>=150
            I(i1j1)=255;
        else I(i1j1)=1;
        end
       end
    end
    %figure;imshow(I);
%     I=edge(I‘canny‘);%figure;imshow(I);
%     I=imfill(I‘holes‘);
    
   %% 腐蚀处理
    se90=strel(‘line‘390);
    se0=strel(‘line‘30);
    I=imerode(I[se90 se0]);
    I=imerode(I[se90 se0]);%处理两次
    %figure;imshow(I);
    
    image0=double(I);
    m00=sum(sum(image0));
    m10=0;
    m01=0;
    [rowcol]=size(image0);
    for i=1:row
        for j=1:col
        m10=m10+i*image0(ij);
        m01=m01+j*image0(ij);
        end
    end
    u10=m10/m00;
    u01=m01/m00;
    
    n20 = 0;n02 = 0;n11 = 0;n30 = 0;n12 = 0;n21 = 0;n03 = 0;
    for i=1:row
        for j=1:col
        n20=n20+i^2*image0(ij);
        n02=n02+j^2*image0(ij);
        n11=n11+i*j*image0(ij);
        n30=n30+i^3*image0(ij);
        n03=n03+j^3*image0(ij);
        n12=n12+i*j^2*image0(ij);
        n21=n21+i^2*j*image0(ij);
        end
    end
    n20=n20/m00^2;
    n02=n02/m00^2;
    n11=n11/m00^2;
    n30=n30/m00^2.5;
    n03=n03/m00^2.5;
    n12=n12/m00^2.5;
    n21=n21/m00^2.5;
        

    h1 = n20 + n02;                      h2 = (n20-n02)^2 + 4*(n11)^2;
    h3 = (n30-3*n12)^2 + (3*n21-n03)^2;  h4 = (n30+n12)^2 + (n21+n03)^2;
    h5 = (n30-3*n12)*(n30+n12)*((n30+n12)^2-3*(n21+n03)^2)+(3*n21-n03)*(n21+n03)*(3*(n30+n12)^2-(n21+n03)^2);
    h6 = (n20-n02)*((n30+n12)^2-(n21+n03)^2)+4*n11*(n30+n12)*(n21+n03);
    h7 = (3*n21-n03)*(n30+n12)*((n30+n12)^2-3*(n21+n03)^2)+(3*n12-n30)*(n21+n03)*(3*(n30+n12)^2-(n21+n03)^2);
    h8=mean(image0(:));%求均值
    h9=st

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12004  2013-08-13 23:18  first.m

----------- ---------  ---------- -----  ----

                12004                    1


评论

共有 条评论