如何在Python中使用RGBA格式将OpenCV转换为PIL?

时间:2013-03-28 18:56:10

标签: python opencv python-imaging-library webcam

我想将OpenCV中拍摄的网络摄像头转换为PIL,这样我就可以读取像素的像素并获得RGB格式。

我在使用PIL时通常会得到RGBA格式,但现在我得到一个整数而不是我期望的四个数字。

请考虑以下代码段:

cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT, my_height)
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH, my_width)
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FORMAT, cv.IPL_DEPTH_32F)
  img = cv.QueryFrame(capture)
...
    index_value = index_value + 1
    picture_time = current_time + variance
    #Give the cv image to PIL
    im = Image.fromstring("L", cv.GetSize(img), img.tostring())
    #Get the color set out of the images
    width, height = im.size
    image_pixels = im.load()
    total_size = width * height
    colors = {}
    for h in range(height):
        for w in range(width):
            print width, height
            detail = image_pixels[w, h]
            #Filter our transparencies and dark colors
            print detail

当我覆盖网络摄像头时,我得到的值是14,而当我没有时,我得到的是140。

如何以Pythonic方式从网络摄像头中正确抓取图像并获取每个像素的RGB值?

0 个答案:

没有答案