OpenCV python Bayer 转换错误

use*_*362 1 python opencv image image-processing

以下代码:

filePath = os.path.join(root,file)
image = cv2.imread(filePath)
convertedImage = cv2.cvtColor(image, cv2.COLOR_BAYER_GR2RGB)
Run Code Online (Sandbox Code Playgroud)

产生这个错误:

opencv\modules\imgproc\src\color.cpp:4196: error: (-215) scn == 1 && dcn == 3 in function cv::cvtColor
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思(除了说明源和目标中的通道数)?我怎样才能解决这个问题?是否与我加载图像的方式有关?

Ha *_*ang 5

您忘记指定要读取的输入图像的类型。默认情况下, cv2.imread 将读取带有标志 cv2.IMREAD_COLOR 的图像(如他们的文档中所示)。您可以将代码更改为以下内容:

filePath = os.path.join(root,file)
#Load the image as grayscale image
image = cv2.imread(filePath,0)
convertedImage = cv2.cvtColor(image, cv2.COLOR_BAYER_GR2RGB)
Run Code Online (Sandbox Code Playgroud)