中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

廣告設(shè)計(jì)用到的軟件河南靠譜seo電話

廣告設(shè)計(jì)用到的軟件,河南靠譜seo電話,wordpress 加速,wordpress 翻頁插件霍夫直線變換的函數(shù) HoughLines 是OpenCV庫中用于執(zhí)行霍夫直線變換的函數(shù)?;舴蛑本€變換用于檢測(cè)圖像中的直線。下面是該函數(shù)的基本用法: cv::HoughLines(image, lines, rho, theta, threshold);image: 輸入的二值圖像,通常是通過邊緣檢測(cè)算法生成的?!?article class="baidu_pl">

霍夫直線變換的函數(shù)

HoughLines 是OpenCV庫中用于執(zhí)行霍夫直線變換的函數(shù)?;舴蛑本€變換用于檢測(cè)圖像中的直線。下面是該函數(shù)的基本用法:

cv::HoughLines(image, lines, rho, theta, threshold);
  • image: 輸入的二值圖像,通常是通過邊緣檢測(cè)算法生成的。
  • lines: 存儲(chǔ)檢測(cè)到的直線的容器。
  • rho: 霍夫空間中的距離分辨率。通常設(shè)置為像素。
  • theta: 霍夫空間中的角度分辨率。通常設(shè)置為弧度。
  • threshold: 用于判斷直線是否檢測(cè)成功的閾值。只有當(dāng)投票數(shù)大于等于此閾值時(shí),才會(huì)被認(rèn)為檢測(cè)到一條直線。

cv::HoughLines 函數(shù)將在輸入圖像上執(zhí)行霍夫直線變換,識(shí)別直線,并將檢測(cè)到的直線的參數(shù) (ρ, θ) 存儲(chǔ)在 lines 容器中。每個(gè)檢測(cè)到的直線都由 (ρ, θ) 表示,其中 ρ 是距離原點(diǎn)的距離,θ 是直線的角度。您可以在 lines 容器中訪問這些參數(shù)。

以下是一個(gè)使用 cv::HoughLines 的簡單示例:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>using namespace std;
using namespace cv;
#include <fstream>
using namespace cv; //包含cv命名空間
#include <opencv2/core/core.hpp>//----------------- 【main()函數(shù)】--------------------------
// 描述: 控制臺(tái)應(yīng)用程序的入口函數(shù), 我們的程序從這里開始
//
int main()
{//【1】載入原始圖和 Mat變量定義Mat srcImage = imread("113.jpg"); //工程目錄下應(yīng)該有一張名為1. jpg的素材圖Mat midImage, dstImage;//臨時(shí)變量和目標(biāo)圖的定義//【2】進(jìn)行邊緣檢測(cè)和轉(zhuǎn)化為灰度圖Canny(srcImage, midImage, 50, 200, 3);//進(jìn)行一此 canny邊緣檢測(cè)cvtColor(midImage, dstImage, CV_GRAY2BGR);//轉(zhuǎn)化邊緣檢測(cè)后的圖為灰度圖//【3】進(jìn)行霍夫線變換vector<Vec2f> lines;//定義一個(gè)矢量結(jié)構(gòu)lines用于存放得到的線段矢量集合HoughLines(midImage, lines, 1, CV_PI/180, 150, 0, 0 );//【4】依次在圖中繪制出每條線段for (size_t i = 0; i < lines.size(); i++){float rho = lines[i][0], theta = lines[i][1];Point pt1, pt2;double a = cos(theta), b = sin(theta);double x0 = a * rho, y0 = b * rho;pt1.x = cvRound(x0 + 1000 * (-b));pt1.y = cvRound(y0 + 1000 * (a));pt2.x = cvRound(x0 - 1000 * (-b));pt2.y = cvRound(y0 - 1000 * (a));//此句代碼的OpenCV2版為://line( dstImage, pt1, pt2, Scalar(55,100,195), 1, CV_AA);//此句代碼的 OpenCV3版為:line(dstImage, pt1, pt2, Scalar(55, 100, 195), 1, LINE_AA);}//【5】顯示原始圖imshow("【原始圖】", srcImage);//【6】邊緣檢測(cè)后的圖imshow("【邊緣檢測(cè)后的圖】", midImage);//【7】顯示效果圖imshow("【效果圖】", dstImage);waitKey(0);return 0;
}

在這里插入圖片描述

累計(jì)概率霍夫變換: HoughLinesP()函數(shù)

cv::HoughLinesP 是OpenCV庫中用于執(zhí)行概率霍夫直線變換(Probabilistic Hough Line Transform)的函數(shù)。概率霍夫直線變換與傳統(tǒng)霍夫直線變換不同,它不需要計(jì)算每個(gè)像素的直線參數(shù) (ρ, θ),而是通過連接邊緣點(diǎn)的局部段來檢測(cè)線段。這可以顯著提高速度,特別是在處理大型圖像時(shí)。

以下是 cv::HoughLinesP 函數(shù)的基本用法:

cv::HoughLinesP(image, lines, rho, theta, threshold, minLineLength, maxLineGap);
  • image: 輸入的二值圖像,通常是通過邊緣檢測(cè)算法生成的。
  • lines: 存儲(chǔ)檢測(cè)到的直線段的容器。
  • rho: 霍夫空間中的距離分辨率。通常設(shè)置為像素。
  • theta: 霍夫空間中的角度分辨率。通常設(shè)置為弧度。
  • threshold: 用于判斷線段是否檢測(cè)成功的閾值。只有當(dāng)線段上的點(diǎn)數(shù)大于等于此閾值時(shí),才會(huì)被接受。
  • minLineLength: 最小線段長度。任何短于此長度的線段都會(huì)被忽略。
  • maxLineGap: 允許將同一線段的兩個(gè)線段斷開的最大距離。

cv::HoughLinesP 函數(shù)將在輸入圖像上執(zhí)行概率霍夫直線變換,識(shí)別線段,并將檢測(cè)到的線段的起始點(diǎn)和終止點(diǎn)存儲(chǔ)在 lines 容器中。

以下是一個(gè)簡單的示例,演示如何使用 cv::HoughLinesP 檢測(cè)線段:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>using namespace std;
using namespace cv;
#include <iostream>
#include <fstream>
using namespace cv; //包含cv命名空間
#include <opencv2/core/core.hpp>
//--【main()函數(shù)】 -//- -------- ---- -------------
// 描述: 控制臺(tái)應(yīng)用程序的入口函數(shù), 我們的程序從這里開始
//.
int main()
{//【1】載入原始圖和Mat變量定義Mat srcImage = imread("113.jpg"); //工程目錄下應(yīng)該有一張名為1. jpg的素材圖Mat midImage, dstImage;//臨時(shí)變量和目標(biāo)圖的定義//【2】進(jìn)行邊緣檢測(cè)和轉(zhuǎn)化為灰度圖Canny(srcImage, midImage, 50, 200, 3);//進(jìn)行一此 canny邊緣檢測(cè)cvtColor(midImage, dstImage, COLOR_GRAY2BGR);//轉(zhuǎn)化邊緣檢測(cè)后的圖為灰度圖//【3】進(jìn)行霍夫線變換vector<Vec4i> lines;//定義一個(gè)矢量結(jié)構(gòu)lines用于存放得到的線段矢量集合HoughLinesP(midImage, lines, 1, CV_PI/180, 80, 50, 10 );//【4】依次在圖中繪制出每條線段for (size_t i = 0; i < lines.size(); i++){Vec4i l = lines[i];line(dstImage, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(186, 88, 255), 1, LINE_AA);//此句代碼的OpenCV2版為://line( dstImage, Point(1[0], 1[1]), Point(1[2], 1[3]),Scalar(186,88,255), 1, CV_AA);//此句代碼的OpenCV3版為:}//【5】顯示原始圖imshow("【原始圖】", srcImage);//【6】邊緣檢測(cè)后的圖imshow("【邊緣檢測(cè)后的圖】", midImage);//【7】顯示效果圖imshow("【效果圖】", dstImage);waitKey(0);return 0;
}

這個(gè)示例加載了經(jīng)過邊緣檢測(cè)的圖像,然后使用 cv::HoughLinesP 函數(shù)檢測(cè)線段,并在圖像上繪制檢測(cè)到的線段。請(qǐng)確保在 cv::HoughLinesP 函數(shù)中適當(dāng)調(diào)整距離分辨率、角度分辨率、閾值、最小線段長度和最大線段斷開距離以獲得最佳的結(jié)果。
在這里插入圖片描述

霍夫圓變換的函數(shù):cv::HoughCircles

cv::HoughCircles 是OpenCV庫中用于執(zhí)行霍夫圓變換的函數(shù)?;舴驁A變換用于檢測(cè)圖像中的圓。以下是 cv::HoughCircles 函數(shù)的基本用法:

cv::HoughCircles(image, circles, cv::HOUGH_GRADIENT, dp, minDist, param1, param2, minRadius, maxRadius);
  • image: 輸入的灰度圖像,通常是通過邊緣檢測(cè)和預(yù)處理生成的。
  • circles: 存儲(chǔ)檢測(cè)到的圓的容器。
  • method: 用于檢測(cè)圓的方法,通常使用 cv::HOUGH_GRADIENT
  • dp: 累加器分辨率與圖像分辨率的比例。通常設(shè)置為1。
  • minDist: 檢測(cè)到的圓之間的最小距離。
  • param1: Canny邊緣檢測(cè)的高閾值。
  • param2: 累加器閾值,用于確定檢測(cè)到的圓。
  • minRadius: 允許的最小圓半徑。
  • maxRadius: 允許的最大圓半徑。

cv::HoughCircles 函數(shù)將在輸入圖像上執(zhí)行霍夫圓變換,識(shí)別圓,并將檢測(cè)到的圓的圓心坐標(biāo)和半徑存儲(chǔ)在 circles 容器中。

以下是一個(gè)簡單的示例,演示如何使用 cv::HoughCircles 檢測(cè)圓:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>using namespace std;
using namespace cv;
#include <iostream>
#include <fstream>
using namespace cv; //包含cv命名空間
#include <opencv2/core/core.hpp>
//----【main()函數(shù)】------ -------- -
// 描述: 控制臺(tái)應(yīng)用程序的入口函數(shù), 我們的程序從這里開始
int main()
{//【1】載入原始圖、Mat 變量定義Mat srcImage = imread("2144.jpg"); //工程目錄下應(yīng)該有一張名為1. jpg的素材圖Mat midImage, dstImage;//臨時(shí)變量和目標(biāo)圖的定義//【2】顯示原始圖imshow("【原始圖】", srcImage);//【3】轉(zhuǎn)為灰度圖并進(jìn)行圖像平滑cvtColor(srcImage, midImage, COLOR_BGR2GRAY);//轉(zhuǎn)化邊緣檢測(cè)后的圖為灰度圖GaussianBlur(midImage, midImage, Size(9, 9), 2, 2);//【4】進(jìn)行霍夫圓變換vector<Vec3f> circles;HoughCircles(midImage, circles, HOUGH_GRADIENT, 1.5, 10, 200, 100, 0, 0);//【5】依次在圖中繪制出圓for (size_t i = 0; i < circles.size(); i++){//參數(shù)定義Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));int radius = cvRound(circles[i][2]);//繪制圓心circle(srcImage, center, 3, Scalar(0, 255, 0), -1, 8, 0);//繪制圓輪廓circle(srcImage, center, radius, Scalar(155, 50, 255), 3, 8, 0);}//【6】顯示效果圖imshow("【效果圖】", srcImage);waitKey(0);return 0;
}
http://www.risenshineclean.com/news/49931.html

相關(guān)文章:

  • 網(wǎng)站設(shè)計(jì)規(guī)劃書例子云南seo簡單整站優(yōu)化
  • 做二手房比較好的網(wǎng)站有哪些阿亮seo技術(shù)顧問
  • 實(shí)體企業(yè)做網(wǎng)站好么網(wǎng)絡(luò)營銷是做什么的
  • 不建議網(wǎng)站企業(yè)網(wǎng)站有哪些平臺(tái)
  • b2b特點(diǎn)優(yōu)化關(guān)鍵詞哪家好
  • 網(wǎng)站開發(fā)答辯記錄表網(wǎng)絡(luò)營銷最新案例
  • 做互聯(lián)網(wǎng)網(wǎng)站待遇百度廣告代理商查詢
  • 合肥個(gè)人建站模板廣東省疫情最新
  • 網(wǎng)站安裝步驟頁面電商入門基礎(chǔ)知識(shí)
  • 做網(wǎng)站通過什么掙錢如何做推廣宣傳
  • 做城通網(wǎng)盤資源網(wǎng)站的源碼關(guān)鍵詞app下載
  • 如何在網(wǎng)站上做用工登記天津百度seo
  • 沂南網(wǎng)站建設(shè)技能培訓(xùn)網(wǎng)站
  • 杭州網(wǎng)站定制開發(fā)自助建站申請(qǐng)
  • 公司想建一個(gè)網(wǎng)站找誰做百度網(wǎng)頁版登錄
  • 男女怎樣做那個(gè)視頻網(wǎng)站百度推廣咨詢
  • 阿里云9元做網(wǎng)站營銷方法有哪些
  • 網(wǎng)站切圖誰來完成濟(jì)寧網(wǎng)站建設(shè)
  • 做分類網(wǎng)站用什么cms網(wǎng)推接單平臺(tái)
  • GPS實(shí)時(shí)定位網(wǎng)站怎么做抖音關(guān)鍵詞搜索排名
  • 那里做直播網(wǎng)站搜索引擎優(yōu)化指的是
  • 姓名域名亞馬遜seo什么意思
  • WordPress模版二次元長沙有實(shí)力seo優(yōu)化
  • 網(wǎng)站建設(shè)規(guī)劃北京今日重大新聞
  • 網(wǎng)站開發(fā)采購合同模板下載b2b
  • 做素材網(wǎng)站存儲(chǔ)搜索最多的關(guān)鍵詞的排名
  • 廣東網(wǎng)站建設(shè)微信官網(wǎng)開發(fā)網(wǎng)絡(luò)營銷策劃模板
  • 哪兒提供邢臺(tái)做網(wǎng)站windows系統(tǒng)優(yōu)化軟件排行榜
  • 一個(gè)公網(wǎng)ip可以做幾個(gè)網(wǎng)站青島官網(wǎng)seo方法
  • 怎么做網(wǎng)站企業(yè)文化欄目網(wǎng)站推廣途徑和推廣要點(diǎn)