Home | Develop | Download | Contact
Namespaces
Funciones Pds::Image – Color processing

Funciones del namespace Pds::Image::, Ejemplo: Pds::Image::ChromaticityCoordinates(), etc. Más...

Namespaces

namespace  Pds
 Nombre de espacion para PDS (Procesamiento Digital de Senales)
 

funciones para imagenes

Descripción de algunas funciones que usan Pds::Matrix.

std::vector< Pds::Matrix > Pds::Image::ChromaticityCoordinates (const std::vector< Pds::Matrix > &Block, double factor=1.0)
 Retorna un bloque de matrices en coordenadas cromáticas. Más...
 
std::vector< Pds::Matrix > Pds::Image::WhitePatch (const std::vector< Pds::Matrix > &Block)
 Retorna un bloque de matrices con WhitePatch. Más...
 
Pds::Matrix Pds::Image::ColorDetectorByHardChannel (const std::vector< Pds::Matrix > &Block, unsigned int Channel, double Umbral=48, double Factor=1.06)
 Retorna una matriz binaria que cumple la siguiente condición. Para cada sample $\mathbf{s}=[s_0,...,s_{N-1}]$ (pixel) en $\mathbf{Block}$ se retorna un pixel $r$. Más...
 
Pds::Matrix Pds::Image::ColorDetectorByHardAngle (const std::vector< Pds::Matrix > &Block, const Pds::Vector &Color, double AngleDegrees=40)
 Retorna una matriz binaria que cumple la siguiente condición. Para cada sample $\mathbf{s}=[s_0,...,s_{N-1}]$ (pixel) en $\mathbf{Block}$ se retorna un pixel $r$. Más...
 
Pds::Matrix Pds::Image::ColorDetectorBySoftCos (const std::vector< Pds::Matrix > &Block, const Pds::Vector &Color, double AngleDegrees=45)
 Retorna una matriz binaria que cumple la siguiente condición. Para cada sample $\mathbf{s}=[s_0,...,s_{N-1}]$ (pixel) en $\mathbf{Block}$ se retorna un pixel $r$. Más...
 

Descripción detallada

Funciones del namespace Pds::Image::, Ejemplo: Pds::Image::ChromaticityCoordinates(), etc.

#include <Pds/FuncMatrixColorImage>

Color processing std::vector<Pds::Matrix>


Estas funciones trabajan con una matriz de la forma.

\[ \mathbf{A}=\left(\begin{matrix} a_{00} & a_{01} & \hdots & a_{0(Ncol-1)}\\ a_{10} & a_{11} & \hdots & a_{1(Ncol-1)}\\ \vdots & \vdots & \vdots & \vdots \\ a_{(Nlin-2)0} & a_{(Nlin-2)1} & \hdots & a_{(Nlin-2)(Ncol-1)}\\ a_{(Nlin-1)0} & a_{(Nlin-1)1} & \hdots & a_{(Nlin-1)(Ncol-1)}\\ \end{matrix}\right)\equiv A_{(Nlin-1),(Ncol-1)} \]

\[ A_{(Nlin-1),(Ncol-1)}\equiv [a_{i,j}]_{(Nlin-1),(Ncol-1)} \]

nlin es el número de lineas y ncol es el número de columnas.

Informacion adicional puede ser encontrada en [1]

Documentación de las funciones

◆ ChromaticityCoordinates()

std::vector<Pds::Matrix> Pds::Image::ChromaticityCoordinates ( const std::vector< Pds::Matrix > &  Block,
double  factor = 1.0 
)

Retorna un bloque de matrices en coordenadas cromáticas.

\[ Block[n] \qquad \leftarrow \qquad \frac{Block[n]}{S} \]

\[ S\equiv Block[0]+...+Block[N-1] \]

En el caso de 3 matrices.

\[(R,G,B) \qquad \rightarrow \qquad (\frac{R}{R+G+B},\frac{G}{R+G+B},\frac{B}{R+G+B})\]

ChromaticityCoordinates
Original Chromaticity Coordinates factor=255
Original Chromaticity Coordinates factor=255
Parámetros
[in]BlockMatriz original.
[in]factorValor |factor| por qual se multiplicará el resultado.
Devuelve
Retorna un bloque de matrices en coordenadas cromáticas.
Ejemplos
example_matrix_export_bmp.cpp.

◆ WhitePatch()

std::vector<Pds::Matrix> Pds::Image::WhitePatch ( const std::vector< Pds::Matrix > &  Block)

Retorna un bloque de matrices con WhitePatch.

\[ Block[i] \leftarrow \frac{255 Block[i]}{Block[i].Max()} \]

WhitePatch
Original Block
Original WhitePatch
Parámetros
[in]BlockMatriz original.
Devuelve
Retorna un bloque de matrices con WhitePatch.
Ejemplos
example_matrix_export_bmp.cpp.

◆ ColorDetectorByHardChannel()

Pds::Matrix Pds::Image::ColorDetectorByHardChannel ( const std::vector< Pds::Matrix > &  Block,
unsigned int  Channel,
double  Umbral = 48,
double  Factor = 1.06 
)

Retorna una matriz binaria que cumple la siguiente condición. Para cada sample $\mathbf{s}=[s_0,...,s_{N-1}]$ (pixel) en $\mathbf{Block}$ se retorna un pixel $r$.

\[ r= \left\{ \begin{matrix} 1 & if & (s_n>U)~and~(s_n>\beta s_0)~and~(s_n>\beta s_1)~...~and~(s_{N-1}>\beta s_{N-1})\\ 0 & else & ~ \end{matrix} \right. \]

ColorDetectorByHardChannel
Original Channel=1 Umbral=48 Factor=1.06
Original ColorDetectorByHardChannel
Parámetros
[in]BlockMatriz original.
[in]ChannelCanal $n$ del bloque a analizar.
[in]UmbralUmbral $U$ minimo para retornar true.
[in]FactorFactor $\beta$ de ganancia.
Devuelve
Retorna un bloque de matrices con WhitePatch.

◆ ColorDetectorByHardAngle()

Pds::Matrix Pds::Image::ColorDetectorByHardAngle ( const std::vector< Pds::Matrix > &  Block,
const Pds::Vector &  Color,
double  AngleDegrees = 40 
)

Retorna una matriz binaria que cumple la siguiente condición. Para cada sample $\mathbf{s}=[s_0,...,s_{N-1}]$ (pixel) en $\mathbf{Block}$ se retorna un pixel $r$.

\[ r= \left\{ \begin{matrix} 1 & if & cos^{-1}\left(\frac{<\mathbf{Color},\mathbf{s}>}{|\mathbf{Color}||\mathbf{s}|}\right) < \alpha\\ 0 & else & ~ \end{matrix} \right. \]

ColorDetectorByHardAngle
Original Color="10 200 15" AngleDegrees=45
Original ColorDetectorByHardAngle
Parámetros
[in]BlockMatriz original.
[in]ColorVector de dimensión $N$ con el color de referencia. $\mathbf{Color}=[Color_0;...;Color_{N-1}]$.
[in]AngleDegreesAngulo $\alpha$ en degrees.
Devuelve
Retorna un bloque de matrices con WhitePatch.

◆ ColorDetectorBySoftCos()

Pds::Matrix Pds::Image::ColorDetectorBySoftCos ( const std::vector< Pds::Matrix > &  Block,
const Pds::Vector &  Color,
double  AngleDegrees = 45 
)

Retorna una matriz binaria que cumple la siguiente condición. Para cada sample $\mathbf{s}=[s_0,...,s_{N-1}]$ (pixel) en $\mathbf{Block}$ se retorna un pixel $r$.

\[ cos\left(\mathbf{Color},\mathbf{s}\right) \leftarrow \frac{<\mathbf{Color},\mathbf{s}>}{|\mathbf{Color}||\mathbf{s}|} \]

\[ r= \left\{ \begin{matrix} \frac{cos\left(\mathbf{Color},\mathbf{s}\right)-cos(\alpha)}{1-cos(\alpha)} & if & cos\left(\mathbf{Color},\mathbf{s}\right)\geq cos(\alpha)\\ ~ & ~ & ~\\ 0 & else & ~ \end{matrix} \right. \]

ColorDetectorBySoftCos
Original Color="10 200 15" AngleDegrees=45
Original ColorDetectorBySoftCos
Parámetros
[in]BlockMatriz original.
[in]ColorVector de dimensión $N$ con el color de referencia. $\mathbf{Color}=[Color_0;...;Color_{N-1}]$.
[in]AngleDegreesAngulo $\alpha$ en degrees.
Devuelve
Retorna un bloque de matrices con WhitePatch.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed