cvtcolor in Cv2 - no attribute
我正在编写一个程序,用于从USB显微镜收集一系列图像并生成平均值以进行降噪。我必须将图像转换为numpy数组,对像素求和,然后除,然后再转换回图像。
在某些地方通道混合在一起,所以我的输出是BGR而不是RGB,我正在尝试使用cvtcolor进行纠正,但得到错误:
---> 55 RgbImage = cv2.cvtcolor(ave_image,cv2.COLOR_BGR2RGB)
56 return RgbImageAttributeError: 'module' object has no attribute 'cvtcolor'
大概不是从CV2导入cvtcolour,但我不明白为什么。这是相关的代码部分。
最后,尽管平均效果很好,但是还有更优雅的方法吗?我需要一个简单的平均数而不是加权平均数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import os, numpy, PIL from PIL import Image import cv2 import time frameaverage=5 def average_image(): arr=numpy.zeros((h,w,3),numpy.float) # Build up average pixel intensities as floating for im in xrange(frameaverage): camera_capture = get_image() imarr=numpy.array(camera_capture,dtype=numpy.float) arr=arr+imarr/frameaverage # Round values convert to 8-bit integer arr=numpy.array(numpy.round(arr),dtype=numpy.uint8) ave_image=Image.fromarray(arr,mode="RGB") RgbImage = cv2.cvtcolor(ave_image,cv2.COLOR_BGR2RGB) return RgbImage |
在cv2函数中,cvtcolor重命名为