小编moh*_*sam的帖子

彩色图像的直方图均衡使用python opencv给出错误

错误:合并中断言失败(0 <cn && cn <= CV_CN_MAX)

在合并功能中

cv2.merge(channels,img2)
Run Code Online (Sandbox Code Playgroud)

如果参数被替换如下所示:

cv2.merge(img2,channels)
Run Code Online (Sandbox Code Playgroud)

它不会给出错误,但均衡前后的直方图是相同的.我能在这段代码中做些什么.

码:

import cv2,cv
import cv2.cv as cv
import numpy as np
from matplotlib import pyplot as plt

capture = cv.CaptureFromCAM(0)
img = cv.QueryFrame(capture)
img_size = cv.GetSize(img)

width,height = img_size
size = width,height,3
channels = np.zeros(size , np.uint8) 


while (1):
img = cv.QueryFrame(capture)
img = np.asarray(img[:,:])

cv2.imshow("original",img)
hist = cv2.calcHist([img],[2],None,[256],[0,256])

#convert img to YCR_CB
img2 = cv2.cvtColor(img,cv2.COLOR_BGR2YCR_CB)

#split image to Y, CR, CB
cv2.split(img2,channels)

#histogram equalization to Y-MATRIX
cv2.equalizeHist(channels[0],channels[0])

#merge …
Run Code Online (Sandbox Code Playgroud)

python opencv python-2.7

1
推荐指数
1
解决办法
2867
查看次数

标签 统计

opencv ×1

python ×1

python-2.7 ×1