咨询律师免费解答,厦门企业网站seo,国外免费网站模板,外贸网站建设流程图span stylefont-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);刚开课#xff0c;上了一节计算机图像处理#xff0c;想了一下把图像转换成矩阵表示#xff0c;然后存储到txt文档中去。图片用的 lena.jpg/span …
span stylefont-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);刚开课上了一节计算机图像处理想了一下把图像转换成矩阵表示然后存储到txt文档中去。图片用的 lena.jpg/span 读取出来的肯定是一个三维矩阵因为是彩色的第三维度分别是R、G、B
第一二维度也就是对应屏幕上的像素点
如果是灰度图像得到的就是二维矩阵
有错误希望指正初学者(⊙o⊙)…
废话不多说没代码说啥
图片转换为矩阵存储到 lean.txt 和存储为数据形式imagematrix.mat里面 %图片转换为矩阵
aimread(D:\BingZhouWork\Image\lena.jpg);
%保存矩阵方法一
% [r,c]size(a);
% fidfopen(D:\matlab\bin\BingZhouWork\Image\lena.txt,wt);
% for i1:r
% for j1:c
% fprintf(fid,%d\t ,a(i,j));
% end
% fprintf(fid,\n);
% end
% fclose(fid);
%保存矩阵方法二
dlmwrite(D:\BingZhouWork\Image\lena.txt,a,delimiter,\t);
%保存到mat格式
save imagematrix a;这个程序是第一次写出了点问题显示为三个图像具体原因请对比下面那个修正版的程序提示图像是三维的矩阵 %读取txt格式但是会出现点问题
Mload(D:\BingZhouWork\Image\lena.txt);
[r,c]size(M);
imwrite(uint8(M),matrix1.tif,tif);
imshow(matrix1.tif);
% bdlmread(D:\matlab\bin\BingZhouWork\Image\lena.txt);
% [r2,c2]size(b);
% imwrite(uint8(b),matrix1.tif,tif);
% imshow(matrix1.tif);%读取mat格式
% load(imagematrix.mat);
% [r1,c1]size(a);
% imwrite(uint8(a),matrix.tif,tif);
% imshow(matrix.tif);修正以后的程序clear
clc
%读取txt格式但是会出现点问题
Mload(D:\BingZhouWork\Image\lena.txt);
[r,c]size(M);
a1M(:,1:512);
a2M(:,513:1024);
a3M(:,1025:1536);
A(:,:,1)a1;
A(:,:,2)a2;
A(:,:,3)a3;
imwrite(uint8(A),matrix1.tif,tif);
imshow(matrix1.tif);%读取mat格式
% load(imagematrix.mat);
% [r1,c1]size(a);
% imwrite(uint8(a),matrix.tif,tif);
% imshow(matrix.tif);下图是lena.jpg