I'm getting an error in the code I made to detect diabetic retinopathy levels ''Error using vertcat Dimensions of arrays being concatenated are not consistent.''
2 次查看(过去 30 天)
显示 更早的评论
% Diyabetik Retinopati Sınıflandırma Kodu
and apart from all this, I want to educate by dividing the images into 9 path of 1x1. How can I do this process?
% 1. Dosyaları oku ve veriyi yükle
healthy_path = 'Healthy\'; % Healthy dosyasının bulunduğu dizin
mild_DR_path = 'Mild DR\'; % Mild DR dosyasının bulunduğu dizin
moderate_DR_path = 'Moderate DR\'; % Moderate DR dosyasının bulunduğu dizin
proliferate_DR_path = 'Proliferate DR\'; % Proliferate DR dosyasının bulunduğu dizin
severe_DR_path = 'Severe DR\'; % Severe DR dosyasının bulunduğu dizin
healthy_images = imageDatastore(healthy_path);
mild_DR_images = imageDatastore(mild_DR_path);
moderate_DR_images = imageDatastore(moderate_DR_path);
proliferate_DR_images = imageDatastore(proliferate_DR_path);
severe_DR_images = imageDatastore(severe_DR_path);
% 2. Veriyi görselleştir
figure;
subplot(2,3,1);
imshow(readimage(healthy_images,1));
title('Healthy');
subplot(2,3,2);
imshow(readimage(mild_DR_images,1));
title('Mild DR');
subplot(2,3,3);
imshow(readimage(moderate_DR_images,1));
title('Moderate DR');
subplot(2,3,4);
imshow(readimage(proliferate_DR_images,1));
title('Poliferate DR');
subplot(2,3,5);
imshow(readimage(severe_DR_images,1));
title('Severe DR');
% 3. VGG-16 modelini yükle
net = vgg16;
% 4. CNN özellik çıkarıcılarını kullanarak eğitim verisini önceden işle
healthy_features = activations(net, healthy_images, 'fc7');
mild_DR_features = activations(net, mild_DR_images, 'fc7');
moderate_DR_features = activations(net, moderate_DR_images, 'fc7');
proliferate_DR_features = activations(net, proliferate_DR_images, 'fc7');
severe_DR_features = activations(net, severe_DR_images, 'fc7');
% Sınıf özellik vektörlerinin boyutlarını kontrol et
disp('Size of healthy_features:');
disp(size(healthy_features));
disp('Size of mild_DR_features:');
disp(size(mild_DR_features));
disp('Size of moderate_DR_features:');
disp(size(moderate_DR_features));
disp('Size of proliferate_DR_features:');
disp(size(proliferate_DR_features));
disp('Size of severe_DR_features:');
disp(size(severe_DR_features));
% Tüm sınıf özellik vektörlerini aynı boyuta getir
min_size = min([size(healthy_features, 1), size(mild_DR_features, 1), size(moderate_DR_features, 1), size(proliferate_DR_features, 1), size(severe_DR_features, 1)]);
healthy_features = healthy_features(1:min_size, :);
mild_DR_features = mild_DR_features(1:min_size, :);
moderate_DR_features = moderate_DR_features(1:min_size, :);
proliferate_DR_features = proliferate_DR_features(1:min_size, :);
severe_DR_features = severe_DR_features(1:min_size, :);
% Yeniden boyutlandırılmış özellik vektörlerini birleştir
X_train = [healthy_features; mild_DR_features; moderate_DR_features; proliferate_DR_features; severe_DR_features];
% Etiketleri oluştur
Y_train = [ones(min_size, 1); 2*ones(min_size, 1); 3*ones(min_size, 1); 4*ones(min_size, 1); 5*ones(min_size, 1)];
%in here I'm getting error ''Error using vertcat
%Dimensions of arrays being concatenated are not consistent.''
% 6. Modeli eğit
svm_model = fitcecoc(X_train, Y_train);
% 7. Test verisini oluştur
test_path = 'path/to/test'; % Test dosyasının bulunduğu dizin
test_images = imageDatastore(test_path);
% 8. Test verisini önceden işle
test_features = activations(net, test_images, 'fc7');
% 9. Modeli kullanarak sınıflandırma yap
Y_pred = predict(svm_model, test_features);
% 10. Sonuçları görselleştir
figure;
subplot(1,2,1);
imshow(readimage(test_images,1));
title(['True Label: ' num2str(Y_test(1))]);
subplot(1,2,2);
imshow(readimage(test_images,2));
title(['Predicted Label: ' num2str(Y_pred(1))]);
% 11. Modelin başarı oranını değerlendir
Y_test = test_images.Labels; % Gerçek etiketleri al
accuracy = sum(Y_pred == Y_test) / numel(Y_test);
disp(['Accuracy: ' num2str(accuracy)]);
3 个评论
Malay Agarwal
2024-2-19
I left an answer on one of your newer questions (posted on 11th February) that addresses this issue: https://www.mathworks.com/matlabcentral/answers/2080961-i-am-getting-error-using-classreg-learning-fullclassificationregressionmodel-preparedatacr-erro.
As for the second part of your question, could you please clarify what you mean by "dividing the images into 9 path of 1x1"?
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Modeling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!