用什么网站做动感相册,标准网站建设服务器,广州一建建设集团,wordpress error 500操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
功能描述
计算图像的拉普拉斯值。
该函数通过使用 Sobel 运算符计算出的 x 和 y 的二阶导数之和来计算源图像的拉普拉斯值#xff1a; dst Δ src ∂… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
功能描述
计算图像的拉普拉斯值。
该函数通过使用 Sobel 运算符计算出的 x 和 y 的二阶导数之和来计算源图像的拉普拉斯值 dst Δ src ∂ 2 src ∂ x 2 ∂ 2 src ∂ y 2 \texttt{dst} \Delta \texttt{src} \frac{\partial^2 \texttt{src}}{\partial x^2} \frac{\partial^2 \texttt{src}}{\partial y^2} dstΔsrc∂x2∂2src∂y2∂2src
当 ksize 1 时通过这种方式计算拉普拉斯值。当 ksize 1 时通过使用以下 3×3 掩模过滤图像来计算拉普拉斯值 [ 0 1 0 1 − 4 1 0 1 0 ] (3) \left[ \begin{matrix} 0 1 0 \\ 1 -4 1 \\ 0 1 0 \end{matrix} \right] \tag{3} 0101−41010 (3)
在图像处理和计算机视觉领域中Laplacian 操作是一种常用的边缘检测方法。Laplacian 运算符是一种二阶导数算子可以用来突出图像中的细节和边缘。在 OpenCV 中cv::Laplacian() 函数用于计算图像的拉普拉斯算子
函数原型
void cv::Laplacian
(InputArray src,OutputArray dst,int ddepth,int ksize 1,double scale 1,double delta 0,int borderType BORDER_DEFAULT
) 参数
参数src 源图像。参数dst 目标图像与源图像具有相同的大小和通道数。参数ddepth 期望的目标图像深度参见组合选项。参数ksize 用于计算二阶导数滤波器的孔径大小。详情请参阅 getDerivKernels。大小必须为正奇数。参数scale 计算得到的拉普拉斯值的可选缩放因子。默认情况下不应用任何缩放。详情请参阅 getDerivKernels。参数delta 一个可选的增量值在将结果存储到 dst 之前会加到结果上。参数borderType 像素外推方法参见 BorderTypes。BORDER_WRAP 不被支持。
代码示例
#include iostream
#include opencv2/opencv.hppint main( int argc, char** argv )
{// 读取图像cv::Mat src cv::imread( /media/dingxin/data/study/OpenCV/sources/images/erik.jpg, cv::IMREAD_GRAYSCALE );if ( !src.data ){std::cout Error: Could not open or find the image. std::endl;return -1;}cv::Size sz2Sh( 400, 600 );cv::resize( src, src, sz2Sh, 0, 0, cv::INTER_LINEAR_EXACT );// 定义目标图像cv::Mat dst;// 设置拉普拉斯算子参数int ddepth CV_16S; // 目标图像的深度这里使用16位整数int ksize 3; // 孔径大小一般选择3或5double scale 1; // 缩放因子int delta 0; // 增量值int borderType cv::BORDER_DEFAULT; // 边界类型// 应用拉普拉斯算子cv::Laplacian( src, dst, ddepth, ksize, scale, delta, borderType );// 将结果转换回8位图像cv::convertScaleAbs( dst, dst );// 显示原图和拉普拉斯结果cv::namedWindow( Original Image, cv::WINDOW_NORMAL );cv::imshow( Original Image, src );cv::namedWindow( Laplacian Result, cv::WINDOW_NORMAL );cv::imshow( Laplacian Result, dst );// 等待用户按键cv::waitKey( 0 );return 0;
}运行结果