首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >未收到任何错误,但图像未在MATLAB中显示

未收到任何错误,但图像未在MATLAB中显示
EN

Stack Overflow用户
提问于 2019-08-14 01:22:24
回答 1查看 43关注 0票数 0

我试图开发一个使用神经网络的程序来解决任何现实生活中的问题。因此,我使用MATLAB使用概率神经网络进行视网膜病变检测。我得到了教授的一些帮助,并开发了这个程序。我已经训练了神经网络并创建了数据集,但是当测试我的神经网络时,我得不到输出……我是MATLAB的新手,这是我用MATLAB写的第一个程序。

我已经创建了训练数据集,并提供了一个输入图像来获取受影响的区域

代码语言:javascript
代码运行次数:0
运行
复制
clc;
clear all;
close all;
img=imread('nor4.jpg');
m=impixel(img);
dlmwrite('D:\Retinopathy detection\Training.csv',m,'-append');
%figure(1),imshow(img);

- ACTUCAL实现代码

代码语言:javascript
代码运行次数:0
运行
复制
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);`

当我运行这个程序时,..I应该会得到两个图像窗口,一个是输入图像,另一个是视网膜病变检测区域。

但是当我运行这个程序时,我得到的图像窗口正确的第二个窗口,我只得到绿色或如果我改变值将得到不同颜色的…。。

你能帮帮我吗?我真的卡住了!!我没有从我的教授那里得到帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-08-14 01:54:57

imshow with double data假定数据在0,1范围内,以便将数据映射到颜色。

尝试:

代码语言:javascript
代码运行次数:0
运行
复制
imshow(mat2gray(Newimg));

这将在显示数据之前将数据重新缩放到0,1范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57482561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档