Python Opencv在VSCode中实现RGB到BGR图像转换

最近利用ESP32外接驱动为ST7789、分辨率为320*240的2寸TFT显示屏,发现颜色出现了混乱,让其显示一张RGB图片实际显示为BGR图片:

                               原RGB图                                                 实际显示图(BGR)

网上查阅各种办法改了各种头文件还是解决不了,调什么颜色翻转参数、宏定义什么TFT_BGR之类的都不行,估计和opencv一样读取图片时是由低字节向高字节读导致的,其默认的像素排列为BGR。/真的抽象.jpg /真的苦涩.jpg

索性抽象就按抽象着来,咱自己把图片转换为BGR像素排列的不就行了!

基于电脑上已经安装了vscode,而且安装了python环境,网上查阅opencv可以使用自带的函数将图片的R色和B色调转,Win+R cmd输入pip install opencv-python直接安装opencv的环境就行:

1、安装vscode Visual Studio Code – Code Editing. Redefined

2、安装python 超详细的Python安装和环境搭建教程_python安装教程-CSDN博客

3、安装opencv环境  Win+R cmd输入pip install opencv-python

        等待几分钟,安装完成后会打印出Successfully installed opencv-python-xxx的信息,然后命令行输入python,再输入import cv2未报错则为安装成功。

利用vscode运行demo.py程序:

安装好的opencv会被保存在python安装文件夹中Lib文件夹下面的site-packages文件夹中。

python安装的文件夹位置:Win+R cmd输入python,输入import sys,再输入sys.path会打印出python安装文件夹的位置,大概为C:\Users\lenovo\AppData\Local\Programs\Python\Python311

然后在site-packages文件夹下找到cv2文件夹,找到cv2.pyd程序,复制一份拷贝到桌面上的一个新建文件夹里,新建文件夹用英文命名。

在这个文件夹里再新建一个txt文本文件,重命名为demo.py,用记事本打开后输入以下代码然后保存,同时也把你待转换的RGB图放进文件夹中:

  

import numpy as np
import cv2

img = cv2.imread("picture.jpg")
img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
cv2.namedWindow('img_bgr',cv2.WINDOW_AUTOSIZE)
cv2.imshow('imgwindow',img_bgr)
cv2.imwrite('img.jpg',img_bgr)
cv2.waitKey(0)

picture.jpg替换为你的图片名,cv2.imread为读取图片,cv2.cvtColor带cv2.COLOR_RGB2BGR参数为转为BGR图片,cv2.imwrite为保存图片,cv2.waitKey()为等待按键。

然后打开vscode,左上角 文件—打开文件夹—选择桌面上刚才新建的文件夹,然后点右上角的三角图标(运行python文件)

最终在弹出的窗口imgwindow中会显示转换后的BGR图片,并且在文件夹下会生成名为img.jpg的BGR图片。

                              

之后将该BGR图片再用TFT屏幕显示,不出所料显示正常了。。。

作者:5+7_

物联沃分享整理
物联沃-IOTWORD物联网 » Python Opencv在VSCode中实现RGB到BGR图像转换

发表回复