Casa > C > Como Definir O Foco De Uma Webcam Ou Qualquer Outra Câmera Usando Opencv

Como definir o foco de uma webcam ou qualquer outra câmera usando OpenCV

Webcams com foco fixo

A maioria das webcams (leia-se barato) são sistemas de imagem de foco fixo onde não temos nenhum componente óptico para mudar (lentes, abertura), etc. A distância focal padrão para fabricantes de webcam de foco fixo é de aproximadamente 1,5 metros da câmera. Este valor garante que uma distância suficientemente grande esteja sob foco aceitável.

main-qimg-be3c3ee4a081b4eb35f64deb91355e3c.webp

Figure 1: Bastante perto da minha webcam. O texto é legível.

main-qimg-57eeecb2aa385f18cf0d0f3c3beacc6f.webp

Figure 2: Um pouco mais atrás (por favor ignore o reflexo brilhante, minha janela está diretamente na minha frente - eu sei, eu sei... eu preciso de cortinas).

Note como na figura 1, meu rosto e o texto na minha garrafa de desodorante está dentro de um intervalo aceitável de clareza (por clareza, quero dizer, é legível e razoavelmente crocante), mesmo que estejam a distâncias diferentes. Isto nos mostra que mesmo que "fixemos" a distância focal de uma webcam, ainda podemos obter imagens razoavelmente claras - um conceito encontrado na maioria das webcams.

Como pode ser visto na figura 2, o texto é agora dificilmente legível. Portanto, você deve se preocupar com a densidade de pixels e resolução (em uma webcam) antes de se preocupar com o foco inadequado, pois esse será o fator limitante.

OpenCV fornece acesso a quase todos os aspectos de uma webcam. Verifique este link para uma descrição detalhada:

cv::VideoCapture Class Reference

I'll paste it out for you:

>ul>>li>CAP_PROP_POS_MSEC Posição atual do arquivo de vídeo em milisegundos ou timestamp de captura de vídeo.<CAP_PROP_POS_FRAMES Índice 0 do frame a ser descodificado/capturado a seguir.CAP_PROP_POS_AVI_RATIO Posição relativa do ficheiro de vídeo: 0 - início do filme, 1 - fim do filme.CAP_PROP_FRAME_WIDTH Largura dos frames no fluxo de vídeo.CAP_PROP_FRAME_HEIGHT Altura dos frames no fluxo de vídeo.CAP_PROP_FPS Taxa de quadros.CAP_PROP_FOURCC Código de 4 caracteres do codec.CAP_PROP_FRAME_COUNT Número de quadros no arquivo de vídeo.CAP_PROP_FORMAT Formato dos objetos Mat retornados por retrieve() .CAP_PROP_MODE Valor específico do Backend indicando o modo de captura atual.CAP_PROP_BRIGHTNESS Brilho da imagem (somente para câmeras).>CAP_PROP_CONTRAST Contraste da imagem (somente para câmeras).CAP_PROP_SATURATION Saturation of the image (only for cameras).CAP_PROP_HUE Hue of the image (only for cameras).CAP_PROP_GAIN Gain of the image (only for cameras).CAP_PROP_EXPOSURE Exposure (only for cameras).CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.CAP_PROP_WHITE_BALANCE Currently not supportedCAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)

Autofocus webcams

These webcams have a tiny motor which change the aperture and pixel gain to get the best possible focus. IF your webcam supports autofocus, then you will observe another “focus” parameter which can be accessed like this:

  1. cap = cv2.VideoCapture(1) # Generate camera object 
  2. cap.set(cv2.CAP_PROP_AUTOFOCUS, 0) # turn the autofocus off 
  3.  
  4. cap.set(3, 1280) # set the Horizontal resolution 
  5. cap.set(4, 720) # Set the Vertical resolution 

Careful though, some webcam manufacturers don’t let you change webcam focussing parameters and it’s best to do a thorough search before purchasing the a webcam.

Manual focus in a DSLR camera

This section is out of scope for this question but the best way to start is by using 3rd party software like:

DigiCamControl

Easy to use, free solution for complex camera control

It’s awesome!

De Josi Kretlow

Quais são as características esperadas do próximo Samsung Galaxy A32 móvel? Qual é a data e o preço de lançamento na Índia? :: Como é o Vivo Y51A?