matlab代码纠错
代码:
clear all;
A=imread('C:\Users\Champion.R.Madrid\Desktop\成活性检测图像处理\死胚(原)\死胚 (0).JPG');
count=0;
R=0;
G=0;
B=0;
for i=470:1090
for j=745:1650
if A(i,j,1)>2
r=A(i,j,1);
g=A(i,j,2);
b=A(i,j,3);
count=count+1;
R=R+r;
G=G+g;
B=B+b;
end
end
end
AR=R/count
AG=G/count
AB=B/count
我想要的结果是累加RGB分量 后除以像素点的个数,为什么RGB全部都等于255,不会等于255的。。。急 谢啦
追问:什么意思啊?能不能说具体一点呢。。。谢谢GNN
答案:我来终结此问~
A是uint8类型的,最大只有8位,255.
你可以这样:A=int32(A);
另附我的测试代码:
clear all;
A=imread('C:\Users\zmy\Pictures\Collection\2e12a0ecb8549a2927979105.jpg');
count=0;
R=0;
G=0;
B=0;
[m,n]=size(A(:,:,1));
A=int32(A);
for i=1:m
for j=1:n
if A(i,j,1)>2
r=A(i,j,1);
g=A(i,j,2);
b=A(i,j,3);
count=count+1;
R=R+r;
G=G+g;
B=B+b;
end
end
end
AR=R/count;
AG=G/count;
AB=B/count;
记得给我点分哈~~
其他:P=[0.2286 0.1292 0.0720 0.1592 0.1335 0.0733 0.1159 0.0940 0.0522 0.1345 0.0090 0.1260 0.3619 0.0690 0.1828; 0.2090 0.0947 因为所以 科学道理 易做图 不告诉你
0.1828; 0.2090 0.0947 #
上一个:帮我看一下下面的matlab程序,运行时提示有错误,谢谢
下一个:matlab中如何将若干个大小相等的二位数组存入三维矩阵中(不用嵌套循环)?