久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

OpenCV-Laplacian邊緣檢測

 翟天保的圖書館 2022-01-13

作者:翟天保Steven
版權(quán)聲明:著作權(quán)歸作者所有,商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處

函數(shù)原型

void Laplacian( InputArray src, OutputArray dst, int ddepth,
                int ksize = 1, double scale = 1, double delta = 0,
                int borderType = BORDER_DEFAULT );

參數(shù)說明

  1. InputArray類型的src,輸入圖像,8位圖像。
  2. OutputArray類型的dst,輸出圖像,。
  3. int類型的ddepth,輸出圖像的深度,。若src為CV_8U,則可取-1/CV_16S/CV_32F/CV_64F;若src為CV_16U/CV_16S,可取-1/CV_32F/CV_64F;若src為CV_32F,可取-1/CV_32F/CV_64F;若src為CV_64F,可取-1/CV_64F。
  4. int類型的ksize,默認(rèn)值為3,表示Sobel核的大小,取奇數(shù),。
  5. double類型的scale,計(jì)算導(dǎo)數(shù)值時(shí)選的縮放因子,默認(rèn)為1,。
  6. double類型的delta,表示在結(jié)果存入目標(biāo)圖之前可選的delta值,默認(rèn)為0。
  7. int類型的borderType,邊界模式,。

函數(shù)原理

? ? ? ?Laplacian算子是n維歐幾里德空間中的一個(gè)二階微分算子,定義為梯度grad的散度div,。因此如果f是二階可微的實(shí)函數(shù),則f的拉普拉斯算子定義如下:

1)f的拉普拉斯算子也是笛卡爾坐標(biāo)系中的所有非混合二階偏導(dǎo)數(shù)求和。

2)作為一個(gè)二階微分算子,拉普拉斯算子把C函數(shù)映射到C函數(shù),。對(duì)于k大于等于2時(shí),定義算子\Delta :C(R)\rightarrow C(R),。

? ? ? ?根據(jù)圖像處理的原理可知,二階導(dǎo)數(shù)可以用來進(jìn)行檢測邊緣。因?yàn)閳D像是二維,需要在兩個(gè)方向進(jìn)行求導(dǎo),。使用Laplacian算子將會(huì)使求導(dǎo)過程變得簡單,。

? ? ? ?Laplacian算子的定義為:

Laplace(f)=\frac{\partial ^2f}{\partial x^2}+\frac{\partial ^2f}{\partial y^2}

測試代碼

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
// 加載圖片
Mat src = imread("test.jpg");
if (src.empty())
{
cout << "picture load error!" << endl;
return 0;
}
Mat blur, gray, result, abs_result;
// 高斯濾波
GaussianBlur(src, blur, Size(3, 3), 0, 0, BORDER_DEFAULT);
// 轉(zhuǎn)為灰度圖像
cvtColor(blur, gray, COLOR_RGB2GRAY);
// 拉普拉斯
Laplacian(gray, result, CV_16S, 5, 1, 0, BORDER_DEFAULT);
// 計(jì)算絕對(duì)值
convertScaleAbs(result, abs_result);
// 結(jié)果顯示
imshow("src", src);
imshow("result", abs_result);
waitKey(0);
return 0;
}

測試效果

圖1?原圖
圖2?算子孔徑尺寸為5時(shí)效果圖
圖3?算子孔徑尺寸為3時(shí)效果圖

? ? ? ?注意由于Laplacian使用了圖像梯度,所以其內(nèi)部代碼其實(shí)調(diào)用了Sobel算子。利用Sobel算子的運(yùn)算,計(jì)算出x方向和y方向的導(dǎo)數(shù),進(jìn)而得到載入圖像的拉普拉斯變換結(jié)果,。

? ? ? ?當(dāng)尺寸為3*3時(shí),拉普拉斯算子的模板為:

\begin{bmatrix} 0 & 1 &0 \\ 1& -4 & 1\\ 0& 1& 0 \end{bmatrix}

? ? ? ?如果文章幫助到你了,可以點(diǎn)個(gè)贊讓我知道,我會(huì)很快樂~加油!

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多