亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

opencv3/C++圖像邊緣提取方式

 更新時間:2019年12月10日 15:13:53   作者:阿卡蒂奧  
今天小編就為大家分享一篇opencv3/C++圖像邊緣提取方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

canny算子實現(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算子實現(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++圖像邊緣提取方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言編程數(shù)據(jù)結(jié)構(gòu)的棧和隊列

    C語言編程數(shù)據(jù)結(jié)構(gòu)的棧和隊列

    本篇文章是C語言編程篇,主要為大家介紹C語言編程中的數(shù)據(jù)結(jié)構(gòu),詳細(xì)的講解了數(shù)據(jù)結(jié)構(gòu)的棧和隊列有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • C++多線程獲取返回值方法詳解

    C++多線程獲取返回值方法詳解

    這篇文章主要介紹了C++多線程獲取返回值方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • C++中虛繼承時的構(gòu)造函數(shù)示例詳解

    C++中虛繼承時的構(gòu)造函數(shù)示例詳解

    在虛繼承中,虛基類是由最終的派生類初始化的,換句話說,最終派生類的構(gòu)造函數(shù)必須要調(diào)用虛基類的構(gòu)造函數(shù),這跟普通繼承不同,在普通繼承中,派生類構(gòu)造函數(shù)中只能調(diào)用直接基類的構(gòu)造函數(shù),不能調(diào)用間接基類的,所以本文將通過代碼示例給大家介紹一下C++虛繼承構(gòu)造函數(shù)
    2023-09-09
  • C語言詳細(xì)講解循環(huán)語句的妙用

    C語言詳細(xì)講解循環(huán)語句的妙用

    C語言循環(huán)控制語句是一個基于C語言的編程語句,該語句主要有while循環(huán)語句、do-while循環(huán)語句和for循環(huán)語句來實現(xiàn)循環(huán)結(jié)構(gòu),在循環(huán)過程中還有關(guān)鍵字break、continue、do、break控制中斷繼續(xù)與結(jié)束等操作
    2022-04-04
  • QT中對話框的使用示例詳解

    QT中對話框的使用示例詳解

    這篇文章主要為大家詳細(xì)介紹了Qt中對話框的使用,以及QMessageBox類中常見函數(shù)的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-11-11
  • C++實現(xiàn)簡易通訊錄

    C++實現(xiàn)簡易通訊錄

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)簡易通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C 語言中實現(xiàn)環(huán)形緩沖區(qū)

    C 語言中實現(xiàn)環(huán)形緩沖區(qū)

    本文主要是介紹 C語言實現(xiàn)環(huán)形緩沖區(qū),并附有詳細(xì)實現(xiàn)代碼,具有一定的參考價值,希望能幫助有需要的小伙伴
    2016-07-07
  • C語言基礎(chǔ)隱式類型轉(zhuǎn)換與強(qiáng)制類型轉(zhuǎn)換示例解析

    C語言基礎(chǔ)隱式類型轉(zhuǎn)換與強(qiáng)制類型轉(zhuǎn)換示例解析

    最接地氣的有關(guān)類型轉(zhuǎn)換的介紹,此處對于類型轉(zhuǎn)換的相關(guān)知識點做一些簡要的介紹,作者實屬初學(xué),難免文章中有內(nèi)容理解不到位或者有不當(dāng)之處,還請朋友們不吝指正,希望大家多多給予支持
    2021-11-11
  • C++實現(xiàn)校園運動會報名系統(tǒng)

    C++實現(xiàn)校園運動會報名系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)校園運動會報名系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 淺談C++中char型變量的地址輸出

    淺談C++中char型變量的地址輸出

    下面小編就為大家?guī)硪黄獪\談C++中char 型變量的地址輸出。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論