openCV踩坑总结---持续更新
2024-03-30 本文已影响0人
_icey_
1. pip install opencv-python安装后,读取图片返回None
import cv2
HERE = os.path.dirname(__file__)
PARENT_DIR = os.path.dirname(HERE)
FILE_PATH = os.path.join(PARENT_DIR,'src','picture.png')
img = cv2.imread(FILE_PATH)
print(img)
返回None,有两个可能的原因
原因1:代码运行路径中带中文,图片存储路径中带中文
原因2:安装的opencv版本和python版本不匹配
pip uninstall opencv-python
卸载
卸载后重新安装合适的版本,可通过这个网址:Links for opencv-python (tsinghua.edu.cn)
看二者的版本对应关系
比如:
opencv_python-3.4.16.57-cp310-cp310-win_amd64.whl
opencv_python-后面的3.4.16.57是opencv的版本,cp后面是python的版本,如果我的python版本是3.10的,那我就安装pip install opencv-python==3.4.16.57
即可,其他python版本可以依照这个方法找到适合安装的opencv版本
2.opencv初始读进来的图片模式是BGR通道排列的
也就是说图片还是正常颜色显示,但是img中的数组数据的排列是按B G R 的顺序排列的,数据处理的时候要注意下。
如果想按常规的RGB图片去处理,需要转换一下
img = cv2.imread(FILE_PATH)
img = img.cvtColor(img, cv2.COLOR_BGR2RGB)