大虾你好,读入一幅图像后,我想将图像各点的x,y坐标值和灰度值表示出来,每个点都类似于(—,—,—)

这是程序代码:clcA=imread('Cameraman.bmp');N=size(A);%矩阵大小n=N(1,1);m=N(1,2);[m,n]=size(A);B=... 这是程序代码:
clc
A=imread('Cameraman.bmp');
N=size(A);%矩阵大小
n=N(1,1);
m=N(1,2);
[m,n]=size(A);
B=reshape(A,m*n,1);%转换为一维数据
C=zeros(m*n,3);
%求出(x,y,f(x,y))矩阵
for i=1:m*n
C(i,1)=fix(i/n)+1;
C(i,2)=i-m*fix(i/n);
C(i,3)=B(i,1);
end
K=C(1:10,1:end)
运行以后出现:
K =

1 1 156
1 2 160
1 3 156
1 4 160
1 5 156
1 6 155
1 7 156
1 8 159
1 9 158
1 10 155
代表什么意思?如果我想把整幅图像每个点的坐标和灰度值都表示出来应该怎么修改
展开
 我来答
酷呆爱死呆
2011-04-19 · TA获得超过4240个赞
知道大有可为答主
回答量:507
采纳率:100%
帮助的人:1158万
展开全部
K中的数值,1,1,156,就是原图像坐标为(1,1)的像素的灰度值为156;1,2,160,就是原图像坐标为(1,2)的像素值为160,下面类似。
C就是整幅图像每个点的坐标和灰度值的表示形式,其大小为(m*n)行,3列。K只不过是取了C的前10行,3列。
让K=C即可!
更多追问追答
追问
我将最后一行K=C(1:10,1:end)改为K=C,运行以后显示:
64 27377 255
64 27378 255
…………
请问64 27377 255 分别代表什么 ?还是代表像素点的X、Y值和灰度值吗?为什么坐标不是从(1,1),(1,2),(1,3)开始的?为什么27377 27378 27379 27380这些数字这么大啊,最好给出详细解释,不甚感激
追答
你写的代码有错误。
>> a=magic(2)
a =
1 3
4 2
>> b=reshape(a,4,1)
b =
1
4
3
2%%可以看出b转化成列向量后其是按列存放的。
for i=1:m*n
C(i,1)=fix(i/n)+1;%%当i=2时,C(2,1)=1,C(2,2)=2
C(i,2)=i-m*fix(i/n);
C(i,3)=B(i,1);%%C(2,3)=B(2,1)
%%%%%%%%%%%%但是B(2,1)是A中第二行第一列的元素,并不是A中第一行,第二列的元素
所以程序是错误的。
%%%%%%%%%%%%%%%%%%%%%%%%%%
可以这样写:
RGB = imread('E:\QQ截图(百度知道)\111.jpg');
A=rgb2gray(RGB);
N=size(A);%矩阵大小
n=N(1,1);
m=N(1,2);
[m,n]=size(A);
B=reshape(A,m*n,1);%转换为一维数据
C=zeros(m*n,3);
%求出(x,y,f(x,y))矩阵
for i=1:m*n
C(i,1)=mod(i-1,m)+1;
C(i,2)=fix((i-1)/m)+1;
C(i,3)=B(i,1);
end
K=C;
%%%%%%%%%%%%%%%%运行后K和原图像 A对比,其值和坐标是一一对应。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式