OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
扩展图像处理

主题

 用于快速边缘检测的结构化森林
 
 EdgeBoxes
 
 滤波器
 
 超像素
 
 图像分割
 
 快速直线检测器
 
 边缘绘制
 
 傅里叶描述子
 
 对行程编码图像进行二值形态学操作
 

详细描述

枚举

枚举  cv::ximgproc::LocalBinarizationMethods {
  cv::ximgproc::BINARIZATION_NIBLACK = 0 ,
  cv::ximgproc::BINARIZATION_SAUVOLA = 1 ,
  cv::ximgproc::BINARIZATION_WOLF = 2 ,
  cv::ximgproc::BINARIZATION_NICK = 3
}
 指定在 cv::ximgproc::niBlackThreshold 中使用的二值化方法。 更多...
 
枚举  cv::ximgproc::ThinningTypes {
  cv::ximgproc::THINNING_ZHANGSUEN = 0 ,
  cv::ximgproc::THINNING_GUOHALL = 1
}
 

函数

void cv::ximgproc::anisotropicDiffusion (InputArray src, OutputArray dst, float alpha, float K, int niters)
 对图像执行各向异性扩散。
 
void cv::ximgproc::edgePreservingFilter (InputArray src, OutputArray dst, int d, double threshold)
 使用边缘保留滤波器平滑图像。
 
void cv::ximgproc::findEllipses (InputArray image, OutputArray ellipses, float scoreThreshold=0.7f, float reliabilityThreshold=0.5f, float centerDistanceThreshold=0.05f)
 使用投影不变剪枝在图像中快速查找椭圆。
 
void cv::ximgproc::niBlackThreshold (InputArray _src, OutputArray _dst, double maxValue, int type, int blockSize, double k, int binarizationMethod=BINARIZATION_NIBLACK, double r=128)
 使用 Niblack 技术或其启发的一些流行变体对输入图像执行阈值处理。
 
Matx23d cv::ximgproc::PeiLinNormalization (InputArray I)
 使用裴林归一化计算归一化给定图像的仿射变换。
 
void cv::ximgproc::PeiLinNormalization (InputArray I, OutputArray T)
 
void cv::ximgproc::thinning (InputArray src, OutputArray dst, int thinningType=THINNING_ZHANGSUEN)
 应用二值斑点细化操作,以实现输入图像的骨架化。
 

枚举类型文档

◆ LocalBinarizationMethods

#include <opencv2/ximgproc.hpp>

指定在 cv::ximgproc::niBlackThreshold 中使用的二值化方法。

枚举器
BINARIZATION_NIBLACK 
Python: cv.ximgproc.BINARIZATION_NIBLACK

经典的 Niblack 二值化。参见 [209]

BINARIZATION_SAUVOLA 
Python: cv.ximgproc.BINARIZATION_SAUVOLA

Sauvola 技术。参见 [238]

BINARIZATION_WOLF 
Python: cv.ximgproc.BINARIZATION_WOLF

Wolf 技术。参见 [302]

BINARIZATION_NICK 
Python: cv.ximgproc.BINARIZATION_NICK

NICK 技术。参见 [148]

◆ ThinningTypes

#include <opencv2/ximgproc.hpp>

枚举器
THINNING_ZHANGSUEN 
Python: cv.ximgproc.THINNING_ZHANGSUEN
THINNING_GUOHALL 
Python: cv.ximgproc.THINNING_GUOHALL

函数文档

◆ anisotropicDiffusion()

void cv::ximgproc::anisotropicDiffusion ( InputArray src,
OutputArray dst,
float alpha,
float 输入的相机内参矩阵。,
int niters )
Python
cv.ximgproc.anisotropicDiffusion(src, alpha, K, niters[, dst]) -> dst

#include <opencv2/ximgproc.hpp>

对图像执行各向异性扩散。

此函数将 Perona-Malik 各向异性扩散应用于图像。这是偏微分方程的解:

\[{\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\]

c(x,y,t) 的建议函数为:

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

或者

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

参数
src3 通道源图像。
dst与 src 相同大小和通道数的输出图像。
alpha每次迭代向前步进的时间量(通常在 0 到 1 之间)。
输入的相机内参矩阵。对边缘的敏感度
niters迭代次数

◆ edgePreservingFilter()

void cv::ximgproc::edgePreservingFilter ( InputArray src,
OutputArray dst,
int d,
double threshold )
Python
cv.ximgproc.edgePreservingFilter(src, d, threshold[, dst]) -> dst

#include <opencv2/ximgproc/edgepreserving_filter.hpp>

使用边缘保留滤波器平滑图像。

此函数可平滑高斯噪声以及椒盐噪声。有关此实现的更多详细信息,请参见 [ReiWoe18] Reich, S. 和 Wörgötter, F. 和 Dellen, B. (2018)。实时边缘保留去噪滤波器。第 13 届计算机视觉、成像和计算机图形理论与应用国际联合会议 (VISIGRAPP): Visapp,85-94,4。DOI: 10.5220/0006509000850094。

参数
src源 8 位 3 通道图像。
dst与 src 相同大小和类型的输出图像。
d滤波过程中使用的每个像素邻域的直径。必须大于或等于 3。
RANSAC参数。它是点到像素中对极线的最大距离,超过此距离的点将被视为异常值,不用于计算最终的基本矩阵。它可以设置为1-3左右,具体取决于点定位的精度、图像分辨率和图像噪声。区分噪声、离群值和数据的阈值。

◆ findEllipses()

void cv::ximgproc::findEllipses ( InputArray image,
OutputArray ellipses,
float scoreThreshold = 0.7f,
float reliabilityThreshold = 0.5f,
float centerDistanceThreshold = 0.05f )
Python
cv.ximgproc.findEllipses(image[, ellipses[, scoreThreshold[, reliabilityThreshold[, centerDistanceThreshold]]]]) -> ellipses

#include <opencv2/ximgproc/find_ellipses.hpp>

使用投影不变剪枝在图像中快速查找椭圆。

此函数使用投影不变剪枝检测图像中的椭圆。有关此实现的更多详细信息,请参见 [139] Jia, Qi 等人 (2017)。使用投影不变剪枝的快速椭圆检测器。IEEE 图像处理汇刊。

参数
image输入图像,可以是灰度或彩色。
ellipses找到的椭圆的输出向量。每个向量编码为五个浮点数 $x, y, a, b, radius, score$。
scoreThreshold浮点数,椭圆分数的阈值。
reliabilityThreshold浮点数,可靠性阈值。
centerDistanceThreshold浮点数,中心距离阈值。

◆ niBlackThreshold()

void cv::ximgproc::niBlackThreshold ( InputArray _src,
OutputArray _dst,
double maxValue,
int type,
int blockSize,
double k,
int binarizationMethod = BINARIZATION_NIBLACK,
double r = 128 )
Python
cv.ximgproc.niBlackThreshold(_src, maxValue, type, blockSize, k[, _dst[, binarizationMethod[, r]]]) -> _dst

#include <opencv2/ximgproc.hpp>

使用 Niblack 技术或其启发的一些流行变体对输入图像执行阈值处理。

此函数根据以下公式将灰度图像转换为二值图像:

  • 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}\]

    其中 \(T(x,y)\) 是为每个像素单独计算的阈值。

阈值 \(T(x, y)\) 根据所选的二值化方法确定。对于经典的 Niblack,它是均值减去 \( k \) 乘以 \((x, y)\) 的 \(\texttt{blockSize} \times\texttt{blockSize}\) 邻域的标准差。

此函数无法就地处理图像。

参数
_src源 8 位单通道图像。
_dst与 src 相同大小和类型的输出图像。
maxValue满足条件的像素的非零值,与 THRESH_BINARY 和 THRESH_BINARY_INV 阈值类型一起使用。
type阈值类型,参见 cv::ThresholdTypes
blockSize用于计算像素阈值值的像素邻域大小:3、5、7 等。
kNiblack 和受其启发的技术使用的用户可调参数。对于 Niblack,这通常是一个介于 0 和 1 之间的值,它乘以标准差并从均值中减去。
binarizationMethod要使用的二值化方法。默认情况下,使用 Niblack 技术。可以指定其他技术,参见 cv::ximgproc::LocalBinarizationMethods
rSauvola 技术使用的用户可调参数。这是标准差的动态范围。
另请参见
threshold, adaptiveThreshold

◆ PeiLinNormalization() [1/2]

Matx23d cv::ximgproc::PeiLinNormalization ( InputArray I)
Python
cv.ximgproc.PeiLinNormalization(I[, T]) -> T

#include <opencv2/ximgproc/peilin.hpp>

使用裴林归一化计算归一化给定图像的仿射变换。

假设给定图像 \(I=T(\bar{I})\),其中 \(\bar{I}\) 是归一化图像,\(T\) 是通过平移、旋转、缩放和倾斜扭曲此图像的仿射变换。此函数返回与 [PeiLin95] 中描述的变换 \(T^{-1}\) 对应的仿射变换矩阵。有关此实现的更多详细信息,请参见 [PeiLin95] Soo-Chang Pei 和 Chao-Nan Lin。用于模式识别的图像归一化。图像与视觉计算,第 13 卷,第 10 期,第 711-723 页,1995。

参数
I给定变换后的图像。
返回
对应于反向图像变换的变换矩阵

◆ PeiLinNormalization() [2/2]

void cv::ximgproc::PeiLinNormalization ( InputArray I,
OutputArray T )
Python
cv.ximgproc.PeiLinNormalization(I[, T]) -> T

#include <opencv2/ximgproc/peilin.hpp>

这是为方便起见而提供的重载成员函数。它与上述函数的唯一区别在于它接受的参数。

◆ thinning()

void cv::ximgproc::thinning ( InputArray src,
OutputArray dst,
int thinningType = THINNING_ZHANGSUEN )
Python
cv.ximgproc.thinning(src[, dst[, thinningType]]) -> dst

#include <opencv2/ximgproc.hpp>

应用二值斑点细化操作,以实现输入图像的骨架化。

此函数使用 Zhang-Suen 技术将二值斑点图像转换为骨架化形式。

参数
src源 8 位单通道图像,包含二值斑点,其中斑点像素值为 255。
dst与 src 相同大小和类型的输出图像。该函数可以就地操作。
thinningType定义应使用哪种细化算法的值。参见 cv::ximgproc::ThinningTypes