OpenCV453
モジュール | 名前空間 | 列挙型 | 列挙値 | 関数
Extended Image Processing

モジュール

 Structured forests for fast edge detection
 

名前空間

namespace  cv
 "black box" representation of the file storage associated with a file on disk.
 

列挙型

enum  ThinningTypes { THINNING_ZHANGSUEN = 0 , THINNING_GUOHALL = 1 }
 
enum  cv::ximgproc::LocalBinarizationMethods { cv::ximgproc::BINARIZATION_NIBLACK = 0 , cv::ximgproc::BINARIZATION_SAUVOLA = 1 , cv::ximgproc::BINARIZATION_WOLF = 2 , cv::ximgproc::BINARIZATION_NICK = 3 }
 Specifies the binarization method to use in cv::ximgproc::niBlackThreshold [詳解]
 

関数

CV_EXPORTS_W void cv::ximgproc::niBlackThreshold (InputArray _src, OutputArray _dst, double maxValue, int type, int blockSize, double k, int binarizationMethod=BINARIZATION_NIBLACK, double r=128)
 Performs thresholding on input images using Niblack's technique or some of the popular variations it inspired. [詳解]
 
CV_EXPORTS_W void cv::ximgproc::thinning (InputArray src, OutputArray dst, int thinningType=THINNING_ZHANGSUEN)
 Applies a binary blob thinning operation, to achieve a skeletization of the input image. [詳解]
 
CV_EXPORTS_W void cv::ximgproc::anisotropicDiffusion (InputArray src, OutputArray dst, float alpha, float K, int niters)
 Performs anisotropic diffusion on an image. [詳解]
 
CV_EXPORTS_W void cv::ximgproc::edgePreservingFilter (InputArray src, OutputArray dst, int d, double threshold)
 Smoothes an image using the Edge-Preserving filter. [詳解]
 
CV_EXPORTS Matx23d cv::ximgproc::PeiLinNormalization (InputArray I)
 Calculates an affine transformation that normalize given image using Pei&Lin Normalization. [詳解]
 
CV_EXPORTS_W void cv::ximgproc::PeiLinNormalization (InputArray I, OutputArray T)
 

詳解

列挙型詳解

◆ LocalBinarizationMethods

Specifies the binarization method to use in cv::ximgproc::niBlackThreshold

列挙値
BINARIZATION_NIBLACK 

Classic Niblack binarization. See [Niblack1985] .

BINARIZATION_SAUVOLA 

Sauvola's technique. See [Sauvola1997] .

BINARIZATION_WOLF 

Wolf's technique. See [Wolf2004] .

BINARIZATION_NICK 

NICK technique. See [Khurshid2009] .

関数詳解

◆ anisotropicDiffusion()

CV_EXPORTS_W void cv::ximgproc::anisotropicDiffusion ( InputArray  src,
OutputArray  dst,
float  alpha,
float  K,
int  niters 
)

Performs anisotropic diffusion on an image.

The function applies Perona-Malik anisotropic diffusion to an image. This is the solution to the partial differential equation:

\[{\frac {\partial I}{\partial t}}={\mathrm {div}}\left(c(x,y,t)\nabla I\right)=\nabla c\cdot \nabla I+c(x,y,t)\Delta I\]

Suggested functions for c(x,y,t) are:

\[c\left(\|\nabla I\|\right)=e^{{-\left(\|\nabla I\|/K\right)^{2}}}\]

or

\[ c\left(\|\nabla I\|\right)={\frac {1}{1+\left({\frac {\|\nabla I\|}{K}}\right)^{2}}} \]

引数
srcSource image with 3 channels.
dstDestination image of the same size and the same number of channels as src .
alphaThe amount of time to step forward by on each iteration (normally, it's between 0 and 1).
Ksensitivity to the edges
nitersThe number of iterations

◆ edgePreservingFilter()

CV_EXPORTS_W void cv::ximgproc::edgePreservingFilter ( InputArray  src,
OutputArray  dst,
int  d,
double  threshold 
)

Smoothes an image using the Edge-Preserving filter.

The function smoothes Gaussian noise as well as salt & pepper noise. For more details about this implementation, please see [ReiWoe18] Reich, S. and Wörgötter, F. and Dellen, B. (2018). A Real-Time Edge-Preserving Denoising Filter. Proceedings of the 13th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP): Visapp, 85-94, 4. DOI: 10.5220/0006509000850094.

引数
srcSource 8-bit 3-channel image.
dstDestination image of the same size and type as src.
dDiameter of each pixel neighborhood that is used during filtering. Must be greater or equal 3.
thresholdThreshold, which distinguishes between noise, outliers, and data.

◆ niBlackThreshold()

CV_EXPORTS_W void cv::ximgproc::niBlackThreshold ( InputArray  _src,
OutputArray  _dst,
double  maxValue,
int  type,
int  blockSize,
double  k,
int  binarizationMethod = BINARIZATION_NIBLACK,
double  r = 128 
)

Performs thresholding on input images using Niblack's technique or some of the popular variations it inspired.

The function transforms a grayscale image to a binary image according to the formulae:

  • THRESH_BINARY

    \[dst(x,y) = \fork{\texttt{maxValue}}{if \‍(src(x,y) > T(x,y)\‍)}{0}{otherwise}\]

  • THRESH_BINARY_INV

    \[dst(x,y) = \fork{0}{if \‍(src(x,y) > T(x,y)\‍)}{\texttt{maxValue}}{otherwise}\]

    where $T(x,y)$ is a threshold calculated individually for each pixel.

The threshold value $T(x, y)$ is determined based on the binarization method chosen. For classic Niblack, it is the mean minus $ k $ times standard deviation of $\texttt{blockSize} \times\texttt{blockSize}$ neighborhood of $(x, y)$.

The function can't process the image in-place.

引数
_srcSource 8-bit single-channel image.
_dstDestination image of the same size and the same type as src.
maxValueNon-zero value assigned to the pixels for which the condition is satisfied, used with the THRESH_BINARY and THRESH_BINARY_INV thresholding types.
typeThresholding type, see cv::ThresholdTypes.
blockSizeSize of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.
kThe user-adjustable parameter used by Niblack and inspired techniques. For Niblack, this is normally a value between 0 and 1 that is multiplied with the standard deviation and subtracted from the mean.
binarizationMethodBinarization method to use. By default, Niblack's technique is used. Other techniques can be specified, see cv::ximgproc::LocalBinarizationMethods.
rThe user-adjustable parameter used by Sauvola's technique. This is the dynamic range of standard deviation.
参照
threshold, adaptiveThreshold

◆ PeiLinNormalization() [1/2]

CV_EXPORTS Matx23d cv::ximgproc::PeiLinNormalization ( InputArray  I)

Calculates an affine transformation that normalize given image using Pei&Lin Normalization.

Assume given image $I=T(\bar{I})$ where $\bar{I}$ is a normalized image and $T$ is an affine transformation distorting this image by translation, rotation, scaling and skew. The function returns an affine transformation matrix corresponding to the transformation $T^{-1}$ described in [PeiLin95]. For more details about this implementation, please see [PeiLin95] Soo-Chang Pei and Chao-Nan Lin. Image normalization for pattern recognition. Image and Vision Computing, Vol. 13, N.10, pp. 711-723, 1995.

引数
IGiven transformed image.
戻り値
Transformation matrix corresponding to inversed image transformation

◆ PeiLinNormalization() [2/2]

CV_EXPORTS_W void cv::ximgproc::PeiLinNormalization ( InputArray  I,
OutputArray  T 
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

◆ thinning()

CV_EXPORTS_W void cv::ximgproc::thinning ( InputArray  src,
OutputArray  dst,
int  thinningType = THINNING_ZHANGSUEN 
)

Applies a binary blob thinning operation, to achieve a skeletization of the input image.

The function transforms a binary blob image into a skeletized form using the technique of Zhang-Suen.

引数
srcSource 8-bit single-channel image, containing binary blobs, with blobs having 255 pixel values.
dstDestination image of the same size and the same type as src. The function can work in-place.
thinningTypeValue that defines which thinning algorithm should be used. See cv::ximgproc::ThinningTypes