作者jacy840708 (一碗阳春面)
看板MATLAB
标题[问题]回圈
时间Sun Apr 28 12:25:37 2013
以下是我的程式码
str1 = 'D:\20121025\a-g-p-';
str2 = '.tif';
str3 = 'D:\20121025\a-g-v-';
for n = 0:1:5
string1 = [str1,num2str(n),str2];
string2 = [str3,num2str(n),str2];
a = imread(eval('string1'));
b = imread(eval('string2'));
c = rgb2gray(a);
d = rgb2gray(b);
%figure,imagesc(b);
%[x,y]= ginput(1);
fluorescenceP(n+1)=c(24,133);
fluorescenceV(n+1)=d(173,120);
问题1----> anisotropy(n+1) = ((fluorescenceP(n+1)-fluorescenceV(n+1)))/(fluorescenceP(n+1)+2*(fluorescenceV(n+1))); %anisotropy的定义公式
问题2----> g(n+1)=anisotropy(n+1);
请教各位最後两行的部分,我显示fluorescenceP时会有[205,159,103,21,8,0]
fluorescenceV是[166,142,50,13,0,0],但是利用最後anisotropy(n+1)来算时
就显示[0,0,0,0,1,0],请问我该怎麽修改??? 感谢!!!
补上 最後数值应该是 [0.072,0.038,0.261,0.17,1,0]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 223.138.171.26
※ 编辑: jacy840708 来自: 223.138.171.26 (04/28 12:28)
1F:推 CBET:因为 imread 读进来为 uint8,会变成整数除法,需转成 double 04/28 13:45
2F:→ CBET:a = double(imread(string1)); % 不需要用 eval 04/28 13:46
3F:→ CBET:b = double(imread(string2)); 04/28 13:47
感谢CBET,但是我修改後fluorescenceP跟V在影像上取的数值全变成0跟1,我依旧还是
疑问在为什麽anisotropy(n+1)算出的数值,无法以小数来显示。可否再劳烦您提供协助
,感谢。
※ 编辑: jacy840708 来自: 223.138.171.26 (04/28 17:26)
4F:推 CBET:抱歉,没注意到 rgb2gray,请改成在 rgb2gray 後转 double 04/28 22:27
5F:→ CBET:a = imread(string1); c = double(rgb2gray(a)); 04/28 22:28