对MATLAB接触还不是很多,最近视觉老师突然要我们自己用MATLAB提取图片的RGB然后存放到Excel中。在网上找了半天没找到……然后就自己写了一个。第一次发文章,代码略显粗糙,大家别介意。不废话了上代码:
image = imread('Wei_Feng.jpg'); % 读入图片
R = image(:,:,1); % 提取R值的矩阵
G = image(:,:,2); % 提取G值的矩阵
B = image(:,:,3); % 提取B值的矩阵
ranks_R = size(R); % 提取图片的像素(一个m×n的矩阵)
result = cell(ranks_R(1), ranks_R(2)); % 创建一个 m×n 的空cell矩阵
% 提取像素的行列数,将R、G、B对应的值组成一个 1×3 的矩阵
for row = 1:ranks_R(1)
for column = 1:ranks_R(2)
row_column_R = R(row, column);
row_column_G = G(row, column);
row_column_B = B(row, column);
mat = mat2str([row_column_R row_column_G row_column_B]); % 将RGB矩阵转换成字符串,以便存入cell
result{row, column} = mat; % 将每一个像素值分别存入result
end
end
xlswrite('Wei_Feng.xlsx', result) % 将最终的像素值result写入excel表格
Wei_Feng.jpg:
结果(节选):
OK,大功告成。