gpt4 book ai didi

python - 使用 python 对图像执行 CLAHE 时出错 (-215)

转载 作者:行者123 更新时间:2023-12-02 17:37:41 25 4
gpt4 key购买 nike

以下是我在 Spyder 环境中输入的代码:

import os 
import cv2
import numpy as np
path1="E:\\academic\\FINAL YR PROJ\\PROJECT_DATASETS\\floyd_jan\\dr"
path2="E:\\academic\\FINAL YR PROJ\\PROJECT_DATASETS\\floyd_jan\\greendr"
names=[]
names=os.listdir(path1)
for i in names:
bgr = cv2.imread(path1+"\\"+i,1)
green = bgr[: , : , 1]
lab = cv2.cvtColor(green, cv2.COLOR_BGR2LAB)
lab_planes = cv2.split(lab)
clahe = cv2.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))

lab_planes[0] = clahe.apply(lab_planes[0])
lab = cv2.merge(lab_planes)
bgr = cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)
cv2.imwrite(path2+"\\"+i,bgr)

我在运行代码时收到以下错误:

Traceback (most recent call last):

File "", line 8, in lab = cv2.cvtColor(green, cv2.COLOR_BGR2LAB)

error: C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:10724: error: (-215) (scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F) in function cv::cvtColor



想不出解决办法!

最佳答案

问题出在调用颜色空间转换函数的部分

green = bgr[: , : , 1]
lab = cv2.cvtColor(green, cv2.COLOR_BGR2LAB)

您正在使用灰度(单 channel )图像 green执行用于彩色图像(3 个 channel )的颜色空间转换 ( cv2.COLOR_BGR2LAB)。
你应该做的是使用 bgr代替 green作为 cv2.cvtColor 的输入.
lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)

关于python - 使用 python 对图像执行 CLAHE 时出错 (-215),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48677852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com