繁体   English   中英

打开cv2将彩色图像转换为灰度

[英]open cv2 converting color image to grayscale

我正在尝试使用XAMPP服务器和python 3.7使用Opencv2库将彩色图像转换为灰度图像,并且在Web上的结果是:

   no image --> -->


error   Python 3.7.0: C:\Users\Asus\AppData\Local\Programs\Python\Python37-32\python.exe
Fri Aug 24 21:58:51 2018
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 C:\xampp\htdocs\cv2\rgbtogray.py in <module>()
     17         print ("no image")
     18 
=>   19 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
     20 cv2.imshow('gray',gray)
     21 cv2.waitKey(0)
gray undefined, cv2 = <module 'cv2' from 'C:\\Users\\Asus\\AppData\\Lo...on37-32\\lib\\site-packages\\cv2.cp37-win32.pyd'>, cv2.cvtColor = <built-in function cvtColor>, img = None, cv2.COLOR_BGR2GRAY = 6
error: OpenCV(3.4.2) d:\build\opencv\opencv-3.4.2\modules\imgproc\src\color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'cv::CvtHelper<struct cv::Set<3,4,-1>,struct cv::Set<1,-1,-1>,struct cv::Set<0,2,5>,2>::CvtHelper' 
      args = ("OpenCV(3.4.2) d:\\build\\opencv\\opencv-3.4.2\\modul...et<1,-1,-1>,struct cv::Set<0,2,5>,2>::CvtHelper'\n",) 

这是我使用xampp执行的代码

#!C:\Users\Asus\AppData\Local\Programs\Python\Python37-32\python.exe

print('Content-type: text/html\r\n')
print('\r\n')

import cgitb
import cv2
import numpy as np

cgitb.enable()


img = cv2.imread('C:\\xampp\\htdocs\\cv2\\color.png')
if img is None:
    print ("no image")

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('gray',gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

这是我要转换的图像

\\x在路径中的组合充当转义符,Python认为它正在加载十六进制值。

您只需在文件路径之前添加r即可将其转换为原始字符串,如下所示:

   img = cv2.imread(r'C:\xampp\htdocs\cv2\color.png')

这样可以防止\\ \\xampp \\ x充当转义序列。

请参阅此处以供参考: https : //python-reference.readthedocs.io/en/latest/docs/str/escapes.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM