用matlab画excel,如何用matlab在Excel中画画

本文详细介绍了如何使用MATLAB控制Excel进行图像绘制。通过填充Excel单元格的背景色,结合MATLAB的imread函数读取图片RGB值,并转换为Excel可识别的颜色格式,最终实现像素级的图像表达。此外,还提供了自定义的RGB转换函数和Excel单元格范围格式化的辅助函数,以方便操作。
摘要由CSDN通过智能技术生成

本文介绍如何用matlab控制Excel画画。

对于matlab和Excel你的认识不能仅仅停留在xlsread和xlswrite这两个函数上,其实matlab对Excel的操作远远不止于此,详情请见matlab和Excel的交互。

所谓在Excel中画画,无非就是通过填充Excel单元格的背景色实现像素点的表达,都可以通过matlab中的Excel.Application实现。try   % 打开Excel

Excel=actxGetRunningServer('Excel.Application');

catch

Excel=actxserver('Excel.application');

end

% 设置Excel可见Excel.visible=1;

添加工作簿和工作表Workbook=Excel.Workbooks.Add;

Sheet1=Workbook.Sheets.Item(1);

下面实现图像的读取,这里用到了imread函数,可以读取图片的RGB值,用三维的数组存储,数据格式为uint8,但是Excel中是用24位的二进制表示颜色,前8位为B,中间8位为G,后8位为R,所以需要先用double强制转换数据类型。A=imread('图片路径');

A=double(A);

然后就是分别得到R,G,B:column=size(A,2);

row=size(A,1);

Red=A(:,:,1);

Green=A(:,:,2);

Blue=A(:,:,3);

为了使得颜色设置更加方便,这里我自己写了一个RGB函数,用于将RGB转换成Excel的格式:function out=RGB(Red,Green,Blue)

if nargin~=3

error('输入参数错误,RGB输入参数为3个,分别为RGB,0~255')

end

if length(Red)==length(Green)&length(Blue)==length(Green)

Red=Red;

Green=Green*2^8;

Blue=Blue*2^16;

out=Red+Green+Blue;

else

error('输入维度不匹配');

end

end

得到的输出能

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值