【发布时间】:2019-12-20 07:04:29
【问题描述】:
我尝试使用神经网络开发一个程序来解决任何现实生活中的问题。 因此,我使用 MATLAB 使用概率神经网络进行了视网膜病变检测。我从教授那里得到了一些帮助并开发了这个程序。我已经训练了神经网络并创建了数据集,但是在测试我的神经网络时我没有得到输出...... 我是 MATLAB 新手,这是我在 MATLAB 中编写的第一个程序。
我已经创建了训练数据集并提供了输入图像来获取受影响的区域
clc;
clear all;
close all;
img=imread('nor4.jpg');
m=impixel(img);
dlmwrite('D:\Retinopathy detection\Training.csv',m,'-append');
%figure(1),imshow(img);
---实际实现代码---
clc;
clear all;
close all;
fileID = fopen('Training.csv');
C = textscan(fileID,'%f%f%f%f','Delimiter',',');
fclose(fileID);
x=[C{1} C{2} C{3}];
t=[C{4}];
s=input('Enter spread : ');
net = newpnn(x',t',s);
img=imread('trr.jpg');
[m,n,p]=size(img);
R=img(:,:,1);
G=img(:,:,2);
B=img(:,:,3);
RR=reshape(R,m*n,1);
GG=reshape(G,m*n,1);
BB=reshape(B,m*n,1);
Xtest=double([RR GG BB]);
Y = sim(net,Xtest');
Im=reshape(Y,m,n);
for i=1:1:m
for j=1:1:n
if Im(i,j)==1
Newimg(i,j,:)=[230,166,122];
else
Newimg(i,j,:)=img(i,j,:);
end
end
end
figure(1),imshow(img);
figure(2),imshow(Newimg);`
当我运行这个程序时..我应该得到两个图像窗口,一个带有输入图像,第二个窗口将有视网膜病变检测区域..
但是当我运行程序时,我在图像窗口上是正确的,但是......在第二个窗口上,我只会得到绿色,或者如果我改变了值就会得到不同的颜色......。
你能帮我解决这个问题吗?我真的卡住了!!我没有得到教授的帮助。
【问题讨论】:
-
dlmwrite将 3 列 RGB 数据写入 CSV 文件,但textscan从 CSV 文件中读回 4 列,导致t成为NaNs的向量。这是你想要的吗?考虑改用writematrix和readmatrix。 -
我会实现你的想法,先生!会告诉是否发生了什么事..谢谢????
标签: matlab image-processing neural-network image-recognition