咚咚咚————【Matlab】单片机读取摄像头回传的RGB数组绘制图片
(一)效果展示
(二)源码分享
(Excel部分函数)
=HEX2BIN(A1,8)&HEX2BIN(B1,8) //将两个字节的十六进制数据转换成二进制,并在单元格C1显示
=BIN2DEC(MID(C1,1,5))*8 //分离RGB565中的red部分并填充0转成RGB888的red数据
=BIN2DEC(MID(C1,6,6))*4 //分离RGB565中的green部分并填充0转成RGB888的green数据
=BIN2DEC(MID(C1,12,5))*8 //分离RGB565中的blue部分并填充0转成RGB888的blue数据
(Matlab部分函数)
image = zeros(480,480,3); %申请图片变量空间;
image = uint8(image); %强制转换成uint8格式
R = reshape(CH1,480,480); %转换R数组行列(像素大小480*480)
G = reshape(CH2,480,480); %转换G数组行列
B = reshape(CH3,480,480); %转换B数组行列
image(:,:,1)= R; %红色赋值
image(:,:,2)= G; %绿色赋值
image(:,:,3)= B; %蓝色赋值
imshow(image) %绘制图片
(三)需要改进的地方及不足
后期会把Excel部分的函数移植到Matlab中处理,这样子剩下了操作步骤。