matlab输出一张图片所有坐标和对应像素

2025-05-20 21:10:17
推荐回答(1个)
回答(1):

close all; clc;
%I = imread('lena.jpg');
I = imread('lena.bmp');
[m,n,p]=size(I);
if p==3 
    fprintf('彩色图\n');
    fprintf('x\ty\tR\tG\tB\n');
else
    fprintf('灰度图\n');
    fprintf('x\ty\tY\n'); 
end
    
for i=1:n
    for j=1:m
        if p==3 
           fprintf('%d\t%d\t%d\t%d\t%d\n',i,j,I(i,j,1),I(i,j,2),I(i,j,3));
        else
           fprintf('%d\t%d\t%d\n',i,j,I(i,j)); 
        end
    end
end

灰度图
x y Y
1 1 136
1 2 136
1 3 133
1 4 135

.....

 

彩色图
x y R G B
1 1 227 134 116
1 2 227 134 116
1 3 227 134 116
1 4 227 134 116
1 5 227 134 116
1 6 227 134 116

.....