【Matlab读取图片提取RGB分量并将图片转化为二维三维数据作图】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 情况说明
  • 一、读取图片
  • 二、对图片进行处理
    • 1. 图片转成数据
    • 2. 画三维二维图像
  • 总结


情况说明

提示:这里可以添加本文要记录的大概内容:

在拿到一张图片时,想使用matla读取图片并做相应分析时,比如提取CCD获得的光强信息时,可以从bmp、tif或png图片格式中分解出RGB红绿蓝分量的图片,分别进行分析,把分解出的R值图,导入matlab中作三维或者二维图像进行数据分析。


提示:以下是本篇文章正文内容,下面案例可供参考

一、读取图片

先使用Matlab进行图片的读取

clc
clear
close all
%---------读取图片----------%
image = imread('图片名称.tif');
figure('Name','读取的图片') 
imshow(image) %显示读取的图片
%---------分别提取图片的r,g,b并分别显示rgb和原图----------%
image = imread('图片名称.tif');
imager = image(:,:,1);
imageg = image(:,:,2);
imageb = image(:,:,3);
figure('Name','图片的RGB图和原图')
subplot(221);
imshow(imager);
title('r')
subplot(222);
imshow(imageg);
title('g')
subplot(223);
imshow(imageb);
title('b')
subplot(224);
imshow(image);
%---------对r,g,b分量加和----------%
figure('Name','图片的RGB图和'% imshow(imageg+imageb+imager);%这是rgb加和

二、对图片进行处理

将读取好的图片用Matlab转化成三维二维数据进行分析

1. 图片转成数据

点击主页—导入数据—选择自己要导入的图片—完成
【Matlab读取图片提取RGB分量并将图片转化为二维三维数据作图】_第1张图片
导入数据
【Matlab读取图片提取RGB分量并将图片转化为二维三维数据作图】_第2张图片
由图片生成的三维数组

2. 画三维二维图像

代码如下(示例):

d1=double(三维数据名称(:,:,1));%d1是二维数据了
figure
mesh(d1) %根据三维数组画三维图
colormap jet %三维图颜色
figure
contour(d1) %二维平面图
a1=double(三维数据名称(:,88,1)); %88是图像峰值的中心位置,可根据三维图大概确定,此时a1是一维数据了
a1=a1(10:20); %截取前十个数据赋给a1,此时a1长度为11
x=-1:0.2:1;
amax=max(a1);
a1=a1/amax;
figure
plot(x,a1)
axis([-1 1 0 1.1])
yticks([0:0.1:1.1])

总结

用ccd采集到图片进行亮度光强等分析时时,可使用matla读取图片并做相应分析,可从bmp、tif或png图片格式中分解出RGB红绿蓝分量的图片,分别进行分析,把分解出的R值图,导入matlab中作三维或者二维图像进行数据分析。

你可能感兴趣的:(matlab,matlab,图像处理)