• 大小: 2.86MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-22
  • 语言: Matlab
  • 标签: matlab  图片查重  

资源简介

matlab编写的相似图片查重检测程序,程序运行结果即为图片的序列码,再运用BLAST工具查重,最后得到被检测图片之间的相似度。(同时可拿一张图像与图片库进行比较)效果不错,可明显检测到细微变化的盗版图片。

资源截图

代码片段和文件信息

function sequence=DSG_CCv3_E(filenamequeryfoutid)


letter = ‘ARNBDCQZEGHILKMFPSTWYVX‘ ;% 23 letters for protien sequence

for I=1:23

    E5letter(I:)=[‘E‘letter(I)];
end
dot = linspace(0124); % make linear space
section = dot(2:24); % to determine letters for a numerical value

im = imread(filename);
im = double(im)/255; % make it to double from unit8 value
im = imresize(im[256256]); % standadization of image size to 256x256

%% -------------------------------------------------
% Y component to gene
%-------------------------------------------------
%%{
imYCC = colorspace(‘YCC<-RGB‘im);
imY=imYCC(::1)/255;
%}

%%  use 16 macro blocks and 9 insite macro block
% 256/4 = 64 (the length of one edge of a macro block)
% The size of a macro block = 64x64

N_blocks = 4; % Number of blocks in a row
length_of_block = 256/4;
length_of_to_middle = 256/4/2;

index_block=zeros(N_blocks*N_blocks4); % xy for a start point xy for an end point
mid_index = zeros(N_blocks*N_blocks2); % xy for a middle point for Law‘s energy
%drrfine the range of each block and the midpoint of each
%block
for I=1:N_blocks
    for J=1:N_blocks
        %(I-1)*N_blocks+J;
        [(I-1)*length_of_block+1(J-1)*length_of_block+1...
            I*length_of_blockJ*length_of_block];
        index_block((I-1)*N_blocks+J:)=[(I-1)*length_of_block+1(J-1)*length_of_block+1...
            I*length_of_blockJ*length_of_block]; %(x1x2y1y2) R to L Top to Bot
        mid_index((I-1)*N_blocks+J:)=...
            [I*length_of_block-length_of_to_middleJ*length_of_block-length_of_to_middle];
    end
end
%%

fprintf(foutid‘%s\n‘[‘>‘query]);
%% change Y value to gene letters
S=[];

%% -------------------------
% Edge :Law‘s energy applied to Y component
% ------------------------
%%{
e5=[-1-2021];
[rowcolumn]=size(imY);
imY_convColumn=zeros(rowcolumn+4);
imY_conv=zeros(row+4column+4);
for I=1:row
    imY_convColumn(I:)=conv(imY(I:)e5);
end
for I=1:column+4
    imY_conv(:I)=conv(imY_convColumn(:I)e5);
end
imY_e5=zeros(rowcolumn);
imY_e5 = imY_conv(3:column+23:column+2);

mean_imY_e5 = zeros(1length(mid_index));
for I=1:length(mid_index)
    mean_imY_e5(I)=mean(mean(abs(imY_e5((mid_index(I1)-15):(mid_index(I1)+15) (mid_index(I2)-15):(mid_index(I2)+15)))));
    %     mean_imY_e5(I)=mean(mean(abs(imY_e5((mid_index(I1)-7):(mid_index(I1)+7) (mid_index(I2)-7):(mid_index(I2)+7)))));
end

sorted_Ye5 = mean_imY_e5;
dot = linspace(01.224); % max value will be changed as needed
edge_section = dot(2:24);

for I=1:length(sorted_Ye5)
    for J=1:23
        %fprintf(‘%i%i: \n‘IJ);
        if(sorted_Ye5(I)<=edge_section(J))
            S=[SE5letter(J:)];
            break;
        else
            if (J==23)
                S=[SE5letter(J:)];
            end
        end

    end
end
%}
% write the string to the txt file
while length(S)>70
    fprintf(foutid‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3413  2009-02-11 09:53  DSG_CCv3_HV.m
     文件        4617  2009-02-11 09:53  DSG_CCv3_HVE.m
     文件        2270  2009-02-11 09:52  DSG_CCv3_S.m
     文件        4471  2009-02-11 09:51  DSG_CCv3_SE.m
     文件        4624  2009-02-11 09:51  DSG_CCv3_SVE.m
     文件        2268  2009-02-11 09:51  DSG_CCv3_V.m
     文件        4525  2009-02-11 09:50  DSG_CCv3_VE.m
     文件        2214  2009-02-11 09:49  DSG_CCv3_Y.m
     文件        3737  2009-02-11 09:47  DSG_CCv3_YE.m
     文件        2939  2009-02-11 09:46  DSG_CCv3_YH.m
     文件        4591  2009-02-11 09:45  DSG_CCv3_YHE.m
     文件        3399  2009-02-11 09:44  DSG_CCv3_YHS.m
     文件        6634  2009-02-11 02:02  DSG_CCv3_YHSVE.m
     文件        3555  2009-02-11 09:43  DSG_CCv3_YHV.m
     文件        2970  2009-02-11 09:42  DSG_CCv3_YS.m
     文件        4627  2009-02-11 09:42  DSG_CCv3_YSE.m
     文件        3543  2009-02-11 09:41  DSG_CCv3_YSV.m
     文件        2927  2009-02-11 09:40  DSG_CCv3_YV.m
     文件        4635  2009-02-11 09:38  DSG_CCv3_YVE.m
     文件        1163  2009-02-11 01:53  GenSeq.m
     文件         847  2009-02-11 02:03  MakeGene.m
     文件        1955  2009-02-11 09:36  Readme.txt
     文件        3086  2009-02-11 09:56  DSG_CCv3_E.m
     文件        2275  2009-02-11 09:56  DSG_CCv3_H.m
     文件        4476  2009-02-11 09:55  DSG_CCv3_HE.m
     文件        3429  2009-02-11 09:55  DSG_CCv3_HS.m
     文件        4674  2009-02-11 09:54  DSG_CCv3_HSE.m
     文件        3589  2009-02-11 09:54  DSG_CCv3_HSV.m
     文件        3458  2009-02-11 02:21  Genes\EXP_CC_SAMPLE\alldb
     文件        1726  2009-02-11 02:21  Genes\EXP_CC_SAMPLE\q\BACK
     文件        1732  2009-02-11 02:21  Genes\EXP_CC_SAMPLE\q\BATMAN
............此处省略20个文件信息

评论

共有 条评论