2016-04-24 130 views
2

我有一個微軟的USB攝像頭連接到我的樹莓派2B,但有時我有一個完全白色的圖片,有時是一個正常的圖片。看到圖像,就像圖片曝光過度。USB微軟攝像頭 - 曝光過度的圖像 - 代碼問題?

見的形象在這裏:https://www.raspberrypi.org/forums/download/file.php?id=14467

這件事情,可以固定在代碼中的一些變化?我已經添加了一段時間之前和之後的圖片拍攝,但這不是一個解決方案 - time.sleep(t)https://www.microsoft.com/hardware/en-gb/p/lifecam-cinema

感謝您的反饋:

,我目前使用

import os 
import pygame, sys 
from pygame.locals import * 
import pygame.camera 

width = 1280 
height = 720 

#initialise pygame 
pygame.init() 
pygame.camera.init() 
cam = pygame.camera.Camera("/dev/video0",(width,height)) 

cam.start() 
#setup window 
windowSurfaceObj = pygame.display.set_mode((width,height),1,32) 
pygame.display.set_caption('Camera') 
#take a picture 
time.sleep(4) 
image = cam.get_image() 
time.sleep(1) 
cam.stop() 

#display the picture 
catSurfaceObj = image 
windowSurfaceObj.blit(catSurfaceObj,(0,0)) 
pygame.display.update() 

#save picture 
pygame.image.save(windowSurfaceObj,'/home/pi/python/data/usbwebcamimage.jpg') 

使用USB凸輪的代碼!

回答

0

老實說,我不認爲這是能夠通過代碼修復的東西,因爲您不操縱圖像。

我看着你正在使用的相機,它使用自動對焦,所以它有可能將焦點集中在較暗的區域,並通過使圖像更明亮進行補償。看看所謂的自動曝光:http://www.webopedia.com/TERM/A/automatic_exposure_mode.html

它可以通過代碼修復嗎?可能的話,取決於你需要的相機。

如果你不需要顏色,那麼使用下面的代碼應該會導致曝光度下降一點。

代碼:

def histeq(im, nbr_bins=256): 
    """ Histogram equalization of a grayscale image. """ 

    imhist, bins = np.histogram(im.flatten(), nbr_bins, normed=True) 

    cdf = imhist.cumsum() 
    cdf = 255 * cdf/cdf[-1] 

    im2 = np.interp(im.flatten(), bins[:-1], cdf) 

    return im2.reshape(im.shape), cdf 


def lowerImage(image): 

    image = np.array(Image.open(image).convert("F")) 

    newimage, cdf = histeq(image) 

    FinalImage = Image.fromarray(newimage).convert("RGB") 

    FinalImage.save("equal.jpg") # Change the name to whatever you want to 

前:

Your Image

後:

Output Image

這就是所謂的「直方圖均衡化」,它所做的是將這些值均勻分佈在直方圖上。正如您在第二張圖中看到的那樣,您可以恢復樹葉,導線和柵欄中的細節。

儘管它確實有很大的幫助,但如果整張照片都是白色的,它確實做不了多少。這很可能是相機暴露在圖像較暗的區域。

如果您確實需要顏色,請使用numpy.array和scipy.misc.imsave來查看是否可以使用顏色獲取數組。

綜上所述:

  1. 這可能是因爲它只是硬件,所以要儘量看看你是否可以手動曝光相機。
  2. 爲了幫助照片曝光過度,請使用上面的代碼。