日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV笔记(十五)——使用Laplace算子进行图像的边缘检测

發布時間:2023/11/29 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV笔记(十五)——使用Laplace算子进行图像的边缘检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在筆記十四中,我們使用了Sobel算子對圖像進行邊緣檢測,理論依據是像素變化最快的地方最有可能是邊緣處,所以使用sobel算子對圖像做微分,得到的結果圖像當中灰度較大的區域,即為邊緣處。

在這里,我們使用Laplace算子來做邊緣檢測,也是類似的道理,只不過換成了二階微分,在一階微分的極大值的地方,二階微分為零。我們以二階微分為零的區域作為邊緣。當然了一階微分極小值的地方,即圖像變化很慢很慢的地方,二階微分也可能為零。所以我們還需要進行額外的濾波。

?

在理論上是這樣,但是在實現上,OpenCV使用了類似sobel算子的方法,并且在Laplace算子的運用中,一行二階微分和列二階微分的加法結合在一起,用一個kernel計算完畢。

?

先看看OpenCV當中運用Laplace算子的函數:

void cv::Laplacian( InputArray _src, OutputArray _dst, int ddepth, int ksize,?double scale, double delta, int borderType )

使用方式和Sobel相似。

部分實現代碼如下:

1 if( ksize == 1 || ksize == 3 ) 2 { 3 float K[2][9] = 4 {{0, 1, 0, 1, -4, 1, 0, 1, 0}, 5 {2, 0, 2, 0, -8, 0, 2, 0, 2}}; 6 Mat kernel(3, 3, CV_32F, K[ksize == 3]); 7 if( scale != 1 ) 8 kernel *= scale; 9 filter2D( src, dst, ddepth, kernel, Point(-1,-1), delta, borderType ); 10 }

?

OpenCV中使用Laplacian的例子:

1 int main( int, char** argv ) 2 { 3 4 Mat src, src_gray, dst; 5 int kernel_size = 3; 6 int scale = 1; 7 int delta = 0; 8 int ddepth = CV_16S; 9 const char* window_name = "Laplace Demo"; 10 11 /// Load an image 12 src = imread( argv[1] ); 13 14 if( !src.data ) 15 { return -1; } 16 17 /// Remove noise by blurring with a Gaussian filter 18 GaussianBlur( src, src, Size(3,3), 0, 0, BORDER_DEFAULT ); 19 20 /// Convert the image to grayscale 21 cvtColor( src, src_gray, COLOR_RGB2GRAY ); 22 23 /// Create window 24 namedWindow( window_name, WINDOW_AUTOSIZE ); 25 26 /// Apply Laplace function 27 Mat abs_dst; 28 29 Laplacian( src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT ); 30 convertScaleAbs( dst, abs_dst ); 31 32 /// Show what you got 33 imshow( window_name, abs_dst ); 34 35 waitKey(0); 36 37 return 0; 38 } View Code

?

轉載于:https://www.cnblogs.com/nipan/p/4147302.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的OpenCV笔记(十五)——使用Laplace算子进行图像的边缘检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。