真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Opencv(C++)學(xué)習(xí)系列---Canny邊緣檢測算法-創(chuàng)新互聯(lián)

目錄

網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);成都網(wǎng)站設(shè)計、網(wǎng)站制作收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營了10年的創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。

【1】邊緣檢測算法流程

【2】Canny算子介紹

【3】完整代碼


【1】邊緣檢測算法流程
  1. 使用高斯濾波器來平滑圖像,達(dá)到濾除噪聲的效果。(降噪)
  2. 計算圖像中每個像素點(diǎn)的梯度大小和方向(求梯度,與sobel算法求梯度一致)
  3. 使用非極大值抑制,消除邊緣檢測帶來的不利影響(非極大抑制)
  4. 使用雙域值法監(jiān)測確定真實(shí)和潛在的邊緣(雙域值檢測)
  5. 通過抑制孤立的弱邊緣完成邊緣檢測(抑制弱邊緣)? ?

具體算法流程可以參考該文章:

https://zhuanlan.zhihu.com/p/494567705

【2】Canny算子介紹
void Canny( InputArray image, OutputArray edges,
                         double threshold1, double threshold2,
                         int apertureSize = 3, bool L2gradient = false );

具體參數(shù)介紹:

第一個參數(shù),InputArray類型的image,輸入圖像,即源圖像,填Mat類的對象即可,可以為三通道彩色圖像,也可以是單通道的灰度圖像。
第二個參數(shù),OutputArray類型的edges,輸出的邊緣圖,是單通道的邊緣圖像。
第三個參數(shù),double類型的threshold1,第一個滯后性閾值。
第四個參數(shù),double類型的threshold2,第二個滯后性閾值。

Canny采用倆個閾值,根據(jù)邊緣響應(yīng)的灰度圖,大于高閾值的為強(qiáng)邊緣,小于低閾值的為弱邊緣,介于強(qiáng)弱邊緣的值采用搜索算法。在8個領(lǐng)域內(nèi)是否存在強(qiáng)邊緣,如果存在強(qiáng)邊緣,則該點(diǎn)就可以設(shè)置為強(qiáng)邊緣。

第五個參數(shù),int類型的apertureSize,表示應(yīng)用Sobel算子的孔徑大小,其有默認(rèn)值3。
第六個參數(shù),bool類型的L2gradient,一個計算圖像梯度幅值的標(biāo)識,有默認(rèn)值false。

【3】完整代碼
#include#include#includeusing namespace cv;
using namespace std;

int main(int argc,char** argv)
{
	//載入原始圖
	Mat src = imread("E:\\喬大花進(jìn)度\\11-28\\邊緣檢測\\2.jpg");
	Mat src1 = src.clone();
	Mat src2(src.size(),CV_8UC1);
	//第一種直接使用邊緣檢測canny算法
	//blur(src2,src2,Size(3,3));
	Canny(src,src2,150,180);
	imshow("邊緣檢測1",src2);

	//第二種高階邊緣檢測算法,轉(zhuǎn)為灰度圖,降噪,用Canny得到最后的邊緣作為掩碼,轉(zhuǎn)到原圖得到效果圖,得到色彩的邊緣圖
	Mat dst, edge, gray;

	//【1】創(chuàng)建與src同類型和大小的矩陣(dst)
	dst.create(src1.size(),src1.type());
	//【2】將彩色圖轉(zhuǎn)為灰度圖
	cvtColor(src1,gray,COLOR_BGR2GRAY);
	//【3】先使用3x3的內(nèi)核用來降噪
	blur(gray,edge,Size(3,3));
	//【4】運(yùn)行canny算法
	Canny(edge, edge, 3, 9);
	//【5】將dst中的像素都置為0
	dst = Scalar::all(0);
	//【6】與edge為掩碼,將src2復(fù)制到dst中
	src1.copyTo(dst,edge);

	//【7】顯示效果圖
	imshow("邊緣檢測2",dst);

	//顯示原始圖
	imshow("原圖",src);

	waitKey(0);
	system("pause");
	destroyAllWindows();

	return 0;

}

運(yùn)行結(jié)果:

0971b4d0603c4555bcf677aa2731bae0.png

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站名稱:Opencv(C++)學(xué)習(xí)系列---Canny邊緣檢測算法-創(chuàng)新互聯(lián)
鏈接地址:http://weahome.cn/article/isgeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部