利用Matlab绘制图像中的某一行或者某一列的灰度曲线

filename = 'C:\Users\Administrator\Desktop\(透视变换)包含裂缝的整个图片\123.jpg';
imgData = imread(filename);
imshow(imgData);             %该函数可以用来显示已经读入的数据
A = imgData(:,1);
plot(A,'-');                 %画出图像数据

原图:



灰度曲线:


代码地址:http://pan.baidu.com/s/1o8C7REa 密码:3dxs  

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
可以使用MATLAB的imread和mean函数来实现按列求均值的方式绘制多张灰度图像曲线图在一个坐标轴上。具体步骤如下: 1. 使用imread函数读取多张灰度图像,将它们存储在一个三维矩阵。例如,假设有三张图像,可以使用以下代码读取它们: ``` img1 = imread('image1.png'); img2 = imread('image2.png'); img3 = imread('image3.png'); imgs = cat(3, img1, img2, img3); ``` 其,cat函数将三张图像按照第三个维度(即通道)拼接成一个三维矩阵imgs。 2. 使用mean函数按列求取imgs一列的均值。由于imgs是一个三维矩阵,需要指定按照哪一个维度求取均值。在这里,我们要按照第一个维度(即行)求取均值,因为每一列代表一张图像的某一个像素列。可以使用以下代码计算均值: ``` col_means = mean(imgs, 1); ``` 其,mean函数的第一个参数是要求均值的矩阵,第二个参数指定按照哪一个维度求取均值。 3. 将col_means的均值绘制曲线图。可以使用MATLAB的plot函数来实现。例如,以下代码将col_means的三组均值绘制在同一坐标轴上: ``` x = 1:size(col_means, 2); plot(x, col_means(:,:,1), 'r', x, col_means(:,:,2), 'g', x, col_means(:,:,3), 'b'); ``` 其,x是横坐标,col_means(:,:,1)、col_means(:,:,2)、col_means(:,:,3)分别是三张图像的均值,'r'、'g'、'b'指定曲线的颜色。 综上,以下代码实现了按列求均值的方式绘制多张灰度图像曲线图在一个坐标轴上: ``` img1 = imread('image1.png'); img2 = imread('image2.png'); img3 = imread('image3.png'); imgs = cat(3, img1, img2, img3); col_means = mean(imgs, 1); x = 1:size(col_means, 2); plot(x, col_means(:,:,1), 'r', x, col_means(:,:,2), 'g', x, col_means(:,:,3), 'b'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值