怎么在python中使用cv2.cvtcolor

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在python中使用cv2.cvtcolor相关的知识,希望对你有一定的参考价值。

注意,现在OpenCV for Python就是通过NumPy进行绑定的。所以在使用时必须掌握一些NumPy的相关知识!

图像就是一个矩阵,在OpenCV for Python中,图像就是NumPy中的数组!

如果读取图像首先要导入OpenCV包,方法为:

import cv2

emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  
#emptyImage3[...]=0

参考技术A cvtcolor()函数是一个颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间转换。也可以转换为灰度图。
RGB 颜色模式用三维空间中的一个点表示一种颜色,每个点有三个分量,分别表示红、绿、蓝的亮度值。

opencv cv2.imread()报错: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘

问题:
pycharm中使用opencv , 执行cv2.imread(filepath)读取图片时报错:
cv2.error: OpenCV(4.7.0) D:\\a\\opencv-python\\opencv-python\\opencv\\modules\\imgproc\\src\\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor’

解决方案:
尝试以下几种方法:
1.查图片路径中是否有中文,尽量不要含中文,有则修改
2.将图片路径中的“\\”改为“/”;( 我的就是这个问题,改完就不报错了)

# filepath = 'D:\\flower\\picture\\yzm1.bmp' # 这么写会报错
filepath = 'D:/flower/picture/yzm1.bmp'
#  1.图片处理
# 1)先读入图片,并将图片转成灰度图
im = cv2.imread(filepath)
im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

3.检查图片路径,不是到文件夹,要到具体的文件名
4.检查图片的文件名后缀是否正确(.jpg、.bmp等)

如果还是报错可留言。

以上是关于怎么在python中使用cv2.cvtcolor的主要内容,如果未能解决你的问题,请参考以下文章

如何在 cv2 和 python 中使用霍夫圆?

python cv2在验证码识别中的使用

OpenCV的颜色空间(cv2.cvtColor)

初识OpenCV-Python - 005: 识别视频中的蓝色

Changing ColorSpaces

在 Python、OpenCV 中使用切片从图像中提取区域