Home > Back-end >  I have a matlab platform HU modified invariant moment of image processing, now want to put my a norm
I have a matlab platform HU modified invariant moment of image processing, now want to put my a norm

Time:09-23

Here is my application, I think the final data normalization to [0, 1] interval, strives for the great god help me to read it, how to do can achieve, best can have a code, that would be very grateful

The function bubianju ()
clc; close all;
I0=imread (' C: \ Users \ \ Administrator \ Desktop \ apple. JPG ");
If ndims (I0)==3
I1=rgb2gray (");
The else
I1=";
End

% 4 degrees counterclockwise
I2=imrotate (I1, 30, 'bilinear');
% mirror (fliplr flip, flipud upside down)
I3=fliplr (I1);
[m, n]=size (I1);
I2=imresize (I1, 0.5);
Se=translate (strel (1), 20 [0]).
I5=imdilate (I1, se);
figure;
Subplot (2,3,1); Imshow ("); The title (' original image);
Subplot (2, 31); Imshow (I1); The title (' original image);
Subplot (2 filling); Imshow (I2); The title (' rotation of images');
Subplot (2, 4); Imshow (I3); The title (' mirror image ');
Subplot (2,3,5); Imshow (i2); The title (' zooming);
Subplot (2,3,6); Imshow (I5); The title (' translation image ');
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% of image of invariant moment is calculated respectively, the results prove that they are close together.
% with translation invariant moment invariant, scale invariance and rotation invariance,
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Im1=compute_moment (I1);
Im2=compute_moment (I2);
Im3=compute_moment (I3);
Im4=compute_moment (i2);
Im5=compute_moment (I5);
Fprintf (' \ n moments original image: \ n '); Disp (im1);
Fprintf (' \ n moments rotating images: \ n "); Disp (im2);
Fprintf (' \ n moments mirror image: \ n '); Disp (im3);
Fprintf (' \ n moments zooming in: \ n '); Disp (im4);
Fprintf (' \ n moments translation image: \ n '); Disp (im5);
The function im=compute_moment (I1)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% calculation I1 seven moment invariants
% (1) I1 of the centroid
% (2) calculate the center moment
% (3) calculating the value of the same central moment
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
I1=double (I1); Read the data type of the image is in % MATLAB uint8, and the data types used in the matrix is a double
[M, N]=size (I1);
[x, y)=meshgrid (1: M, 1: N); % the image grid points on
% meshigrid (x, y) role is to produce a line based on vector x, vector y for the columns of the matrix
X=x (:).
% (x) said in a column of the output data from the matrix, x (:, :) the first colon said output lines, the second colon said output columns
Y=y (:).
I1=I1 (:).
M00=sum (I1);
M10=sum (x. * I1);
M01=sum (y. * I1);
% to calculate gravity
Xcenter=m10/m00;
Ycenter=m01/m00;
% calculation of the normalized central moments, with translation invariance and scale invariance
% r=(p + q)/2 + 1;
Cm00=1;
Cm02=sum ((y - ycenter). ^ 2. * I1)/(m00 ^ 2);
Cm11=sum ((x - xcenter). * (y - ycenter). * I1)/(m00 ^ 2);
Cm12=sum ((x - xcenter). * (y - ycenter). ^ 2. * I1)/(m00 ^ 2.5);
Cm21=sum ((x - xcenter). ^ 2. * (y - ycenter). * I1)/(m00 ^ 2.5);
Cm03=sum ((y - ycenter). ^ 3. * I1)/(m00 ^ 2.5);
Cm30=sum ((x - xcenter). ^ 3. * I1)/(m00 ^ 2.5);
Cm20=sum ((x - xcenter). ^ 2. * I1)/(m00 ^ 2);
% calculation seven moment invariants
Im (1)=abs (log (cm20 + cm02));
Im (2)=abs (log ((cm20 + cm02) ^ 2 + 4 * cm11 ^ 2));
Im (3)=abs (log ((cm30-3 * cm12) ^ 2 + (3 * cm21 - cm03) ^ 2));
Im (4)=abs (log ((cm30 + cm12) ^ 2 + (cm21 + cm03) ^ 2));
Im (5)=abs (log ((cm30-3 * cm12) * (cm30 + cm12) * ((cm30 + cm12) ^ 2-3 * (cm21 + cm03) ^ 2)...
Cm21 - cm03) + (3 * * (cm21 + cm03) * (3 * (cm30 + cm12) ^ 2 - (cm21 + cm03) ^ 2)));
Im (6)=abs (log ((cm20 - cm02) * ((cm30 + cm12) ^ 2 - (cm21 + cm03) ^ 2) + 4 * cm11 * (cm30 - cm12) * (cm21 + cm03)));
Im (7)=abs (log (cm21 - cm02) (3 * * (cm21 + cm30) * ((cm30 + cm12) ^ 2-3 * (cm21 + cm03) ^ 2)...
- (cm30-3 * cm12) * (cm21 + cm03) * (3 * (cm30 + cm12) ^ 2 - (cm21 + cm03) ^ 2)));
Im (2)=im (2)/(im im (1) * (1));
Im (3)=im (3)/(im im im (1) (1) * * (1));
Im (4)=im (4)/(im im im (1) (1) * * (1));
Im (5)=im (5)/(im im im (1) (1) * * * (1) im im im (1) (1) * * (1));
Im (6)=im (6)/(im im im (1) (1) * * (1));
Im (7)=im (7)/(im im im (1) (1) * * * (1) im im im (1) (1) * * (1));
Im (1)=abs (log (im) (1));
Im (2)=abs (log (im) (2));
Im (3)=abs (log (im) (3));
Im (4)=abs (log (im) (4));
Im (5)=abs (log (im) (5));
Im (6)=abs (log (im) (6));
Im (7)=abs (log (im) (7));
The format of short g;

CodePudding user response:

There will be someone, ask for help
  • Related