opencv3/C++圖像邊緣提取方式
更新時(shí)間:2019年12月10日 15:13:53 作者:阿卡蒂奧
今天小編就為大家分享一篇opencv3/C++圖像邊緣提取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
canny算子實(shí)現(xiàn)
使用track bar 調(diào)整canny算子參數(shù),提取到合適的圖像邊緣。
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
void trackBar(int, void*);
int s1=0,s2=0;
Mat src, dst;
int main()
{
src = imread("E:/image/image/daibola.jpg");
if(src.empty())
{
printf("can not load image \n");
return -1;
}
cvNamedWindow("input", CV_WINDOW_AUTOSIZE);
imshow("input", src);
dst = src.clone();
cvNamedWindow("output", CV_WINDOW_AUTOSIZE);
createTrackbar("canny1", "output", &s1, 255, trackBar);
createTrackbar("canny2", "output", &s2, 255, trackBar);
GaussianBlur(src,src,Size(3,3),0);
waitKey();
return 0;
}
void trackBar(int, void*)
{
Canny(src,dst,s1,s2,3);
imshow("output", dst);
}

Sobel算子實(shí)現(xiàn)
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat src, dst;
src = imread("E:/image/image/daibola.jpg");
if(src.empty())
{
printf("can not load image \n");
return -1;
}
dst = Mat::zeros(src.size(), src.type());
cvNamedWindow("input", CV_WINDOW_AUTOSIZE);
imshow("input", src);
Mat kernel = (Mat_<int>(2,2)<<0,1,-1,0);
filter2D(src,dst,-1,kernel,Point(-1,-1),0.0);
Mat xgrad, ygrad;
Sobel(src,xgrad,CV_16S,1,0,3);
Sobel(src,ygrad,CV_16S,0,1,3);
convertScaleAbs(xgrad,xgrad);
convertScaleAbs(ygrad,ygrad);
addWeighted(xgrad,0.5,ygrad,0.5,0,dst);
//addWeighted(dst,0.5,src,1,0,dst);
cvNamedWindow("output", CV_WINDOW_AUTOSIZE);
imshow("output", dst);
waitKey();
return 0;
}

以上這篇opencv3/C++圖像邊緣提取方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)線索二叉樹(shù)的前中后創(chuàng)建和遍歷詳解
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)線索二叉樹(shù)的前中后創(chuàng)建和遍歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02
VS2019項(xiàng)目打包生成.exe文件與Setup的步驟實(shí)現(xiàn)
這篇文章主要介紹了VS2019項(xiàng)目打包生成.exe文件與Setup的步驟實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
如何在C語(yǔ)言中提取Shellcode并執(zhí)行
Shellcode是一種獨(dú)立于應(yīng)用程序的機(jī)器代碼,通常用于實(shí)現(xiàn)特定任務(wù),如執(zhí)行遠(yuǎn)程命令、注入惡意軟件或利用系統(tǒng)漏洞,本文將深入探討如何在C語(yǔ)言中提取Shellcode,并通過(guò)XOR加密技術(shù)增加其混淆程度,文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下2023-12-12
數(shù)據(jù)結(jié)構(gòu) 雙機(jī)調(diào)度問(wèn)題的實(shí)例詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 雙機(jī)調(diào)度問(wèn)題的實(shí)例詳解的相關(guān)資料,雙機(jī)調(diào)度問(wèn)題,又稱(chēng)獨(dú)立任務(wù)最優(yōu)調(diào)度:用兩臺(tái)處理機(jī)A和B處理n個(gè)作業(yè)的實(shí)例,需要的朋友可以參考下2017-08-08

