Pergunta

depth Pixel depth in bits. The supported depths are:

IPL_DEPTH_8U Unsigned 8-bit integer
IPL_DEPTH_8S Signed 8-bit integer
IPL_DEPTH_16U Unsigned 16-bit integer
IPL_DEPTH_16S Signed 16-bit integer
IPL_DEPTH_32S Signed 32-bit integer
IPL_DEPTH_32F Single-precision floating point
IPL_DEPTH_64F Double-precision floating point
  1. O que esses valores realmente representam?

  2. Quanto bits apresenta cada um?

  3. Qual é a diferença entre:

    Inteiro de 8 bits não assinado e inteiro de 8 bits assinado?

    Inteiro de 16 bits não assinado e inteiro de 16 bits assinado?

    Se eles exigem 8 e 16 bits respectivamente?

  4. Qual é o sentido de usar tipos de dados com ponto flutuante?

Foi útil?

Solução

Um 8 bit não assinado tem valores de 0 a 255, enquanto um 8 bits assinado tem valores de -127 a 127. A maioria das câmeras digitais usa dados não assinados. Os dados assinados são principalmente o resultado de uma operação em uma imagem, como uma detecção de arestas asnesas.

A razão para imagens de profundidade de bits mais alta, como 16 bits, é mais detalhes na imagem. Isso permite mais operações, como o balanceamento branco ou o iluminamento da imagem, sem criar artefatos na imagem. Por exemplo, uma imagem escura que foi iluminada e tem bandas distintas na imagem. Uma imagem de 16 bits permitirá que a imagem seja iluminada mais de uma imagem de 8 bits, porque há mais informações para começar.

Algumas operações funcionam melhor com dados de ponto flutuante. Por exemplo, uma FFT (transformação rápida de Fourier). Se muitas operações forem realizadas em uma imagem, o erro de arredondar os valores de pixel para um número inteiro sempre, comece a se acumular. Usar um número de ponto flutuante mitiga isso, mas não elimina isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top