feature extraction for MRI image

11 次查看(过去 30 天)
hi. I want to extract features for analyzing an image. I have extracted 8 basic features such as energy, homogeneity, contrast, skewness, correlation, variance etc. What other features can i use for image classification? My image is a cancer MRI. Thanks in advance. Have a nice day :)

采纳的回答

Image Analyst
Image Analyst 2015-6-21
Too many to list. See VisionBib for lots of algorithms to measure all kinds of things.

更多回答(4 个)

Rafee Muhammad
Rafee Muhammad 2019-2-11
%% Image Read
[filename, pathname] = uigetfile({'*.jpg'; '*.bmp'; '*.tif'; '*.gif'; '*.png'; '*.jpeg'}, 'Load Image File');
brainImg = imread([pathname filename]);
subplot(231);imshow(brainImg);title('Input image','FontSize',20);
%% preprocessing
[m n c] = size(brainImg);
if c == 3
brainImg = rgb2gray(brainImg);
end
[ brainImg ] = Preprocess( brainImg );
subplot(232);imshow(brainImg);title('preprocessed image','FontSize',20);
%% Convert To Binary
img2 = im2bw(brainImg);
%% Feature Extraction
signal1 = img2(:,:);
[cA1,cH1,cV1,cD1] = dwt2(signal1,'db4');
[cA2,cH2,cV2,cD2] = dwt2(cA1,'db4');
[cA3,cH3,cV3,cD3] = dwt2(cA2,'db4');
DWT_feat = [cA3,cH3,cV3,cD3];
G = pca(DWT_feat);
whos DWT_feat
whos G
g = graycomatrix(G);
stats = graycoprops(g,'Contrast Correlation Energy Homogeneity');
Contrast = stats.Contrast;
Correlation = stats.Correlation;
Energy = stats.Energy;
Homogeneity = stats.Homogeneity;
Mean = mean2(G);
Standard_Deviation = std2(G);
Entropy = entropy(G);
RMS = mean2(rms(G));
%Skewness = skewness(img)
Variance = mean2(var(double(G)));
a = sum(double(G(:)));
Smoothness = 1-(1/(1+a));
Kurtosis = kurtosis(double(G(:)));
Skewness = skewness(double(G(:)));
  2 个评论
Emma Stone
Emma Stone 2020-11-10
编辑:Emma Stone 2020-11-10
Hello Sir,
in your code we don't have information about preprocess function ,it gives error in below line, would you suggest me whats the issue!
[ brainImg ] = Preprocess( brainImg );
thanks
Priyanka Matta
Priyanka Matta 2021-5-20
Hello Rafee,
I tried your code for extracting features in a IVUS image.
It worked very well.
thanks

请先登录,再进行评论。


farheen asdf
farheen asdf 2015-7-2
I have finally trained my neural network and the results are good (87% accurate). That being said i'm still a little confused as to how it can be used practically. For example, in my case it takes the network several tries to get to 87% accuracy. Sometimes its accuracy is as bad as 26%. How can i make sure that my network remembers what it has learned when it gets to 87% accuracy? Second, i was wondering if i could use this network to find the class of an unknown image which i select at runtime. I've used indexing method to separate the training, validation and test data so that the network tests only the images i want it to. Thanks in advance. Have a nice day :)
  2 个评论
Image Analyst
Image Analyst 2015-7-2
I don't use Neural Networks. I've added the Product Neural Network Toolbox above, so maybe Greg Heath will see it and answer you.

请先登录,再进行评论。


Foading Leonce
Foading Leonce 2019-3-10
编辑:Image Analyst 2022-12-5
Hello @Rafee Muhammad. Thanks for your contribution.
But in your code we don't have information about preprocess function in this line:
[ brainImg ] = Preprocess( brainImg );
Please supply that function. Thanks. 🙂
  2 个评论
Image Analyst
Image Analyst 2022-12-5
@Foading Leonce and @Fatima you might be able to get away without even using that line of code. We don't know what he did. Maybe it was just something you don't need to do, like cropping his image. Try it without that line of code (comment it out) and see how it works.

请先登录,再进行评论。


Fatima
Fatima 2022-12-5
Me too

类别

Help CenterFile Exchange 中查找有关 Biomedical Imaging 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by