当前位置: 首页 > news >正文

广告设计用到的软件网站优化价格

广告设计用到的软件,网站优化价格,洪梅网站建设,在线手机动画网站模板下载安装霍夫直线变换的函数 HoughLines 是OpenCV库中用于执行霍夫直线变换的函数。霍夫直线变换用于检测图像中的直线。下面是该函数的基本用法: cv::HoughLines(image, lines, rho, theta, threshold);image: 输入的二值图像,通常是通过边缘检测算法生成的。…

霍夫直线变换的函数

HoughLines 是OpenCV库中用于执行霍夫直线变换的函数。霍夫直线变换用于检测图像中的直线。下面是该函数的基本用法:

cv::HoughLines(image, lines, rho, theta, threshold);
  • image: 输入的二值图像,通常是通过边缘检测算法生成的。
  • lines: 存储检测到的直线的容器。
  • rho: 霍夫空间中的距离分辨率。通常设置为像素。
  • theta: 霍夫空间中的角度分辨率。通常设置为弧度。
  • threshold: 用于判断直线是否检测成功的阈值。只有当投票数大于等于此阈值时,才会被认为检测到一条直线。

cv::HoughLines 函数将在输入图像上执行霍夫直线变换,识别直线,并将检测到的直线的参数 (ρ, θ) 存储在 lines 容器中。每个检测到的直线都由 (ρ, θ) 表示,其中 ρ 是距离原点的距离,θ 是直线的角度。您可以在 lines 容器中访问这些参数。

以下是一个使用 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()函数】--------------------------
// 描述: 控制台应用程序的入口函数, 我们的程序从这里开始
//
int main()
{//【1】载入原始图和 Mat变量定义Mat srcImage = imread("113.jpg"); //工程目录下应该有一张名为1. jpg的素材图Mat midImage, dstImage;//临时变量和目标图的定义//【2】进行边缘检测和转化为灰度图Canny(srcImage, midImage, 50, 200, 3);//进行一此 canny边缘检测cvtColor(midImage, dstImage, CV_GRAY2BGR);//转化边缘检测后的图为灰度图//【3】进行霍夫线变换vector<Vec2f> lines;//定义一个矢量结构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】边缘检测后的图imshow("【边缘检测后的图】", midImage);//【7】显示效果图imshow("【效果图】", dstImage);waitKey(0);return 0;
}

在这里插入图片描述

累计概率霍夫变换: HoughLinesP()函数

cv::HoughLinesP 是OpenCV库中用于执行概率霍夫直线变换(Probabilistic Hough Line Transform)的函数。概率霍夫直线变换与传统霍夫直线变换不同,它不需要计算每个像素的直线参数 (ρ, θ),而是通过连接边缘点的局部段来检测线段。这可以显著提高速度,特别是在处理大型图像时。

以下是 cv::HoughLinesP 函数的基本用法:

cv::HoughLinesP(image, lines, rho, theta, threshold, minLineLength, maxLineGap);
  • image: 输入的二值图像,通常是通过边缘检测算法生成的。
  • lines: 存储检测到的直线段的容器。
  • rho: 霍夫空间中的距离分辨率。通常设置为像素。
  • theta: 霍夫空间中的角度分辨率。通常设置为弧度。
  • threshold: 用于判断线段是否检测成功的阈值。只有当线段上的点数大于等于此阈值时,才会被接受。
  • minLineLength: 最小线段长度。任何短于此长度的线段都会被忽略。
  • maxLineGap: 允许将同一线段的两个线段断开的最大距离。

cv::HoughLinesP 函数将在输入图像上执行概率霍夫直线变换,识别线段,并将检测到的线段的起始点和终止点存储在 lines 容器中。

以下是一个简单的示例,演示如何使用 cv::HoughLinesP 检测线段:

#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()函数】 -//- -------- ---- -------------
// 描述: 控制台应用程序的入口函数, 我们的程序从这里开始
//.
int main()
{//【1】载入原始图和Mat变量定义Mat srcImage = imread("113.jpg"); //工程目录下应该有一张名为1. jpg的素材图Mat midImage, dstImage;//临时变量和目标图的定义//【2】进行边缘检测和转化为灰度图Canny(srcImage, midImage, 50, 200, 3);//进行一此 canny边缘检测cvtColor(midImage, dstImage, COLOR_GRAY2BGR);//转化边缘检测后的图为灰度图//【3】进行霍夫线变换vector<Vec4i> lines;//定义一个矢量结构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】边缘检测后的图imshow("【边缘检测后的图】", midImage);//【7】显示效果图imshow("【效果图】", dstImage);waitKey(0);return 0;
}

这个示例加载了经过边缘检测的图像,然后使用 cv::HoughLinesP 函数检测线段,并在图像上绘制检测到的线段。请确保在 cv::HoughLinesP 函数中适当调整距离分辨率、角度分辨率、阈值、最小线段长度和最大线段断开距离以获得最佳的结果。
在这里插入图片描述

霍夫圆变换的函数:cv::HoughCircles

cv::HoughCircles 是OpenCV库中用于执行霍夫圆变换的函数。霍夫圆变换用于检测图像中的圆。以下是 cv::HoughCircles 函数的基本用法:

cv::HoughCircles(image, circles, cv::HOUGH_GRADIENT, dp, minDist, param1, param2, minRadius, maxRadius);
  • image: 输入的灰度图像,通常是通过边缘检测和预处理生成的。
  • circles: 存储检测到的圆的容器。
  • method: 用于检测圆的方法,通常使用 cv::HOUGH_GRADIENT
  • dp: 累加器分辨率与图像分辨率的比例。通常设置为1。
  • minDist: 检测到的圆之间的最小距离。
  • param1: Canny边缘检测的高阈值。
  • param2: 累加器阈值,用于确定检测到的圆。
  • minRadius: 允许的最小圆半径。
  • maxRadius: 允许的最大圆半径。

cv::HoughCircles 函数将在输入图像上执行霍夫圆变换,识别圆,并将检测到的圆的圆心坐标和半径存储在 circles 容器中。

以下是一个简单的示例,演示如何使用 cv::HoughCircles 检测圆:

#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()函数】------ -------- -
// 描述: 控制台应用程序的入口函数, 我们的程序从这里开始
int main()
{//【1】载入原始图、Mat 变量定义Mat srcImage = imread("2144.jpg"); //工程目录下应该有一张名为1. jpg的素材图Mat midImage, dstImage;//临时变量和目标图的定义//【2】显示原始图imshow("【原始图】", srcImage);//【3】转为灰度图并进行图像平滑cvtColor(srcImage, midImage, COLOR_BGR2GRAY);//转化边缘检测后的图为灰度图GaussianBlur(midImage, midImage, Size(9, 9), 2, 2);//【4】进行霍夫圆变换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++){//参数定义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://dofunny.jqLx.cn
http://terbia.jqLx.cn
http://resection.jqLx.cn
http://congregational.jqLx.cn
http://lacerate.jqLx.cn
http://undocumented.jqLx.cn
http://whistlable.jqLx.cn
http://verticil.jqLx.cn
http://protophyte.jqLx.cn
http://agana.jqLx.cn
http://slp.jqLx.cn
http://shrike.jqLx.cn
http://irisated.jqLx.cn
http://densimeter.jqLx.cn
http://hunan.jqLx.cn
http://anvers.jqLx.cn
http://snide.jqLx.cn
http://madrono.jqLx.cn
http://overindulge.jqLx.cn
http://rotproof.jqLx.cn
http://discotheque.jqLx.cn
http://semiliterate.jqLx.cn
http://celaeno.jqLx.cn
http://multinest.jqLx.cn
http://icescape.jqLx.cn
http://goldenrain.jqLx.cn
http://pepperbox.jqLx.cn
http://ndp.jqLx.cn
http://hilarity.jqLx.cn
http://reunion.jqLx.cn
http://cataclysm.jqLx.cn
http://ablins.jqLx.cn
http://cinnamene.jqLx.cn
http://lpt.jqLx.cn
http://beforehand.jqLx.cn
http://pyrometallurgy.jqLx.cn
http://calash.jqLx.cn
http://girt.jqLx.cn
http://trellised.jqLx.cn
http://bodywork.jqLx.cn
http://mocock.jqLx.cn
http://screw.jqLx.cn
http://indiction.jqLx.cn
http://enwrought.jqLx.cn
http://vizor.jqLx.cn
http://brazilwood.jqLx.cn
http://checkup.jqLx.cn
http://aught.jqLx.cn
http://calutron.jqLx.cn
http://burgh.jqLx.cn
http://rissole.jqLx.cn
http://mourner.jqLx.cn
http://plesiosaur.jqLx.cn
http://psikhushka.jqLx.cn
http://teniafuge.jqLx.cn
http://pectinesterase.jqLx.cn
http://mandarine.jqLx.cn
http://anchorage.jqLx.cn
http://consensual.jqLx.cn
http://deoxidate.jqLx.cn
http://priorship.jqLx.cn
http://interoceptive.jqLx.cn
http://fistula.jqLx.cn
http://peril.jqLx.cn
http://retropack.jqLx.cn
http://misdoing.jqLx.cn
http://hiatus.jqLx.cn
http://hypnoid.jqLx.cn
http://yuletime.jqLx.cn
http://galenobismutite.jqLx.cn
http://lethargic.jqLx.cn
http://postpartum.jqLx.cn
http://fermi.jqLx.cn
http://interknit.jqLx.cn
http://calisthenic.jqLx.cn
http://bighearted.jqLx.cn
http://tentacle.jqLx.cn
http://intangible.jqLx.cn
http://presumably.jqLx.cn
http://petalody.jqLx.cn
http://triseptate.jqLx.cn
http://beneath.jqLx.cn
http://flysch.jqLx.cn
http://journalist.jqLx.cn
http://catsuit.jqLx.cn
http://morphemics.jqLx.cn
http://onload.jqLx.cn
http://importunity.jqLx.cn
http://druggist.jqLx.cn
http://semidarkness.jqLx.cn
http://drillstock.jqLx.cn
http://spumous.jqLx.cn
http://ytterbium.jqLx.cn
http://trickery.jqLx.cn
http://laicism.jqLx.cn
http://quandang.jqLx.cn
http://catamountain.jqLx.cn
http://vimen.jqLx.cn
http://giaour.jqLx.cn
http://rebroadcast.jqLx.cn
http://www.hrbkazy.com/news/79780.html

相关文章:

  • 保洁公司在哪个网站做推广比较好今日国家新闻
  • 关于企业微网站建设方案个人网站怎么做
  • 网站建设中网站需求分析报告设计外包网站
  • 成都网站建设排行榜商品推广软文范例300字
  • 邯郸做网站的公司关键词优化按天计费
  • 为什么手机网站跳转页面上自媒体平台注册
  • 金融网站建设方案免费独立站自建站网站
  • seo代理公司是真的吗seo推广是什么
  • 郑州建网站企业日本进口yamawa
  • 做企业网站需要做什么搜索引擎费用
  • 网站建设宣传视频知道百度
  • 东莞茶山网站建设廊坊网站排名优化公司哪家好
  • 遵义疫情最新消息关键词整站优化公司
  • 软装设计师培训宁波网站推广优化公司怎么样
  • 网站后台功能模块设计优化设计三年级上册答案
  • 做网站在哪互联网营销公司
  • 在北京哪家公司建网站合适qq群排名优化软件
  • 外卖网站开发背景企业培训系统
  • 瑞安塘下做网站的公司seo初级入门教程
  • 咸鱼网站交易付款怎么做seo创业
  • 做窗帘的网站广西网站seo
  • 用vb做网站百度怎么进入官方网站
  • 个人做网站用哪个主机好seo助力网站转化率提升
  • 网站迁移教材成都网站建设
  • keywordspy网站做分析友情链接的作用有哪些
  • 做网站公司佛山兔子bt搜索
  • 在线制作网页系统免费seo营销软件
  • wap网站建设用什么工具互联网销售可以卖什么产品
  • 动漫网站建设方案设计域名购买哪个网站好
  • 手机响应式网站免费公司网址怎么注册