feature extraction for MRI image

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

0 个投票

Too many to list. See VisionBib for lots of algorithms to measure all kinds of things.

更多回答(4 个)

%% 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 个评论

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
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

0 个投票

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 个评论

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.
Thank you Image Analyst

请先登录,再进行评论。

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 个评论

@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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Biotech and Pharmaceutical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by