Python+OpenCV将彩图数据转成数组供LCD显示

Python+OpenCV将彩图数据转成数组供LCD显示

TFTLCD显示彩图的原理相信大家都很熟悉,基本上是采用MCU将图像数据通过SPI、IIC、8080或者6800时序送到LCD的驱动控制器,LCD控制器将驱动显示出彩图。那么从信号源的角度来讲,图像数据的来源变得很重要。行业内比较普遍的做法是在PC端将要显示的jpg或者其他格式的图片文件,通过自己编写的小软件转换成数据文件,比如使用在c或者c++的数组文件。然后再用于其他的编程。采用不同语言的编程,程序的规模和难度不一。合理采用工具,可以大大减少编程的难度。
本文介绍一种采用Python和Opencv的方法将图像文件转成数据文件,共c或者c++编程使用。当然,掌握这个方法后也可以按照自己的需求编写你想要的文件格式。

TFTLCD采用的数据格式介绍

TFTLCD如何根据图像颜色数据不同而现实不同的色彩呢?这里介绍一下用的比较多的两种格式,一是RGB565,第二是RGB888。
顾名思义,RGB565就是表示,LCD上一个像素点的颜色有5+6+5=16bits表示,其中红色、绿色、蓝色三分量分别由5bits,6bits,5bits来表示,那么一共可以显示的颜色有65536种。RGB888也是同理。
图像在PC的存储方式很多,文件格式各不相同,但是通过解码,基本还原为RGB三种分量,我们采用合适的工具将数据提取出来,然后按照要去重新排列。这样就得出要的数据了,最后将数据转成你需要的格式即可。

转换过程

导入需要的库

import cv2
import numpy as np
from matplotlib import pyplot as plt

第一个是加载cv2库,主要是处理图像数据的读取等,第二个是numpy库,主要是进行矩阵操作等,后面的plt是画图显示用。

首先读入需要转换的图像,以读取彩图的形式读取并获得图像的行列数。

im = cv2.imread('1.jpg', cv2.IMREAD_COLOR)
rows, cols, _ = im.shape

然后建立红绿蓝三组空数组及要目标数组,尺度大小和图像一样,注意是因为要进行移位操作,因此把数据放大,数据类型选择uint32。
将图像数据的三个分量分别读出来。要注意的是opencv读取图像的次序是蓝绿红方式,即0通道时是蓝色数据,1通道时绿色数据,2通道时红色数据。


                
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PythonOpenCV是一种非常流行的计算机视觉库,用于处理图像和视频数据OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,提了许多功能,包括图像处理、特征检测、目标跟踪、运动检测等。Python是用于编写计算机程序的高级编程语言,它易于学习,并且拥有丰富的第三方库,包括OpenCVPythonOpenCV的主要应用场景包括: 1. 图像处理:使用OpenCV可以进行各种图像处理操作,例如调整大小、裁剪、旋、色彩空间换、滤波等。 2. 特征检测:OpenCV了许多特征检测算法,如SIFT、SURF、ORB等,可用于识别图像中的关键点并提取特征描述符。 3. 目标跟踪:OpenCV了许多目标跟踪算法,如帧间差分法、光流法等,可用于实时跟踪视频中的运动目标。 4. 运动检测:OpenCV可以检测视频中的运动对象,例如车辆、行人等。 5. 面部识别:OpenCV可以用于面部识别,通过检测图像中的面部特征并进行匹配。 使用PythonOpenCV进行计算机视觉开发的基本步骤包括: 1. 安装PythonOpenCV库:可以从官方网站下载并安装PythonOpenCV库。 2. 导入库:在Python脚本中导入OpenCV库,以便可以使用其提的函数和方法。 3. 读取图像或视频文件:使用OpenCV的函数读取图像或视频文件,并将其加载到内存中。 4. 进行图像处理或特征检测:使用OpenCV的函数和方法对图像或视频进行处理或检测特征。 5. 保存结果:将处理或检测的结果保存到文件或输出到控制台。 总之,PythonOpenCV是一种强大的计算机视觉工具,可用于各种图像和视频处理任务。通过学习和掌握PythonOpenCV,您可以轻松地进行计算机视觉研究、开发和应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值