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

凡科网做网站的图片涿州规划建设局网站

凡科网做网站的图片,涿州规划建设局网站,哈尔滨做网站哪好,六安营销公司文章目录 一、霍夫变换-直线1.1霍夫变换-直线 原理详解 二、霍夫圆检测 一、霍夫变换-直线 Hough Line Transform用来做直线检测 前提条件 – 边缘检测已经完成 1、平面空间#xff08;x,y#xff09;到极坐标空间转换#xff1b; 2、对极坐标进行变换#xff0c;转化为… 文章目录 一、霍夫变换-直线1.1霍夫变换-直线 原理详解 二、霍夫圆检测 一、霍夫变换-直线 Hough Line Transform用来做直线检测 前提条件 – 边缘检测已经完成 1、平面空间x,y到极坐标空间转换 2、对极坐标进行变换转化为θ与R的关系 1.1霍夫变换-直线 原理详解 对于任意一条直线上的所有点来说变换到极坐标中从[0~360]空间可以得到r的大小属于同一条直线上点在极坐标空 ( r , θ ) (r, \theta)(r,θ) 必然在一个点上有最强的信号出现根据此反算到平面坐标中就可以得到直线上各点的像素坐标。从而得到直线。 标准的霍夫变换 cv::HoughLines 从平面坐标转换到霍夫空间最终输出是 ( r , θ ) (r, \theta)(r,θ) 表示极坐标空间 void HoughLines( InputArray image,     输入图像必须8-bit的灰度图像 OutputArray lines,    输出的极坐标来表示直线 double rho,        极坐标素扫描步长 double theta,       极坐标角度步长一般取值CV_PI/180 int threshold,       阈值多少交点的极坐标点才被看成是直线 double srn 0,       是否应用多尺度的霍夫变换默认0表示经典霍夫变换 double stn 0,       是否应用多尺度的霍夫变换默认0表示经典霍夫变换  double min_theta 0,   表示角度扫描范围 0 ~180之间 默认即可 double max_theta CV_PI );霍夫变换直线概率 cv::HoughLinesP最终输出是直线的两个点 ( x 0 , y 0 , x 1 , y 1 ) void HoughLinesP( InputArray image,      输入图像必须8-bit的灰度图像 OutputArray lines,     输出的极坐标来表示直线 double rho,         极坐标像素扫描步长 double theta,        极坐标角度步长一般取值CV_PI/180 int threshold,        阈值多少交点的极坐标点才被看成是直线 double minLineLength 0,  最小直线长度 double maxLineGap 0 );  最大间隔//头文件 quick_opencv.h声明类与公共函数 #pragma once #include opencv2\opencv.hpp using namespace cv;class QuickDemo { public:...void hough_Demo(Mat image1);void laplance_Demo(Mat image1);void canny_Demo(Mat image1); };//主函数调用该类的公共成员函数 #include opencv2\opencv.hpp #include quick_opencv.h #include iostream using namespace cv;int main(int argc, char** argv) {Mat src imread(D:\\Desktop\\jianbian.png);if (src.empty()) {printf(Could not load images...\n);return -1;}QuickDemo qk;qk.hough_Demo(src1);qk.hough_Demo(src1);qk.canny_Demo(src1);waitKey(0);destroyAllWindows();return 0; }void QuickDemo::hough_Demo(Mat image) {Mat image_line image.clone();// 霍夫直线检测Mat gau_dst, gray_dst, grad_dst;GaussianBlur(image_line, gau_dst, Size(3, 3), 10);cvtColor(gau_dst, gray_dst, COLOR_BGR2GRAY);vectorVec4f plines;Canny(gray_dst, gray_dst, 100, 200);imshow(Canny, gray_dst);HoughLinesP(gray_dst, plines, 5, CV_PI/180, 10, 0, 10);// 斜线检测调整maxlineGapcout 线条个数 plines.size() endl;for (int i 0; i plines.size(); i) {Vec4f hline plines[i];line(image_line, Point(hline[0], hline[1]), Point(hline[2], hline[3]), Scalar(0, 0, 255), 1, 8, 0);}imshow(HoughLinesP, image_line);// 霍夫圆检测Mat median_dst, gray_median_dst;vectorVec3f pcircles;medianBlur(image, median_dst, 3);cvtColor(median_dst, gray_median_dst, COLOR_BGR2GRAY);HoughCircles(gray_median_dst, pcircles, HOUGH_GRADIENT, 1, 10, 100, 30, 5, 100);cout 圆形个数 pcircles.size() endl;for (int i 0; i pcircles.size(); i) {Vec3f cc pcircles[i];circle(image, Point(cc[0], cc[1]), cc[2], Scalar(255, 0, 0), 2, 8, 0);circle(image, Point(cc[0], cc[1]), 2, Scalar(255, 0, 0), 2, 8, 0); // 标注圆形}imshow(circle, image); }二、霍夫圆检测 算法详情见霍夫圆检测 官方给出了好的示例。 对直线来说一条直线能由极径极角 ( r θ ) (rθ)(rθ) 表示而对于圆来说我们需要三个参数圆心 a b abab半径 r 。 笛卡尔坐标系中圆的方程为 这就意味着每一组abr代表一个通过点x0,y0的圆。 对于一个给定点x0,y0我们可以在三维直角坐标系中绘出所有通过它的圆。最终我们将得到一条三维的曲线。 由于霍夫线变换圆检测对噪声比较敏感所以首先要对图像做中值滤波而且需要更多的检测计算消耗。OpenCV 霍夫圆变换对标准霍夫圆变换做了运算上的优化。它采用的是 “霍夫梯度法”。 基于效率考虑Opencv中实现的霍夫变换圆检测是基于图像梯度的实现分为两步 检测边缘发现可能的圆心基于第一步的基础上从候选圆心开始计算最佳半径大小 霍夫梯度法的原理 估计圆心 1、把原图做一次 Canny 边缘检测得到边缘检测的二值图。 对原始图像执行一次 Sobel 算子计算出所有像素的邻域梯度值。 初始化圆心空间 N(a,b)令所有的 N(a,b)0。 遍历 Canny 边缘二值图中的所有非零像素点沿着梯度方向 ( 切线的垂直方向 )画线将线段经过的所有累加器中的点 (a,b) 的 N(a,b)1。 void HoughCircles( InputArray image,      输入图像 ,必须是8位的单通道灰度图像 OutputArray circles,    输出结果发现的圆信息 int method,         HOUGH_GRADIENT double dp,         dp 1 累加器图像的反比分辨率 double minDistsrc_gray.rows/8, 检测到圆心之间的最小距离否则认为是同心圆- double param1 100,    canny edge detection low threshold double param2 100,   中心点累加器阈值 – 候选圆心 int minRadius 0,      能检测到的最小圆半径, 默认为0 int maxRadius 0      能检测到的最大圆半径, 默认为0 ); 参数 第一个参数InputArray类型的image输入图像即源图像需为8位的灰度单通道图像。 第二个参数InputArray类型的circles经过调用HoughCircles函数后此参数存储了检测到的圆的输出矢量每个矢量由包含了3个元素的浮点矢量(x, y, radius)表示。 第三个参数int类型的method即使用的检测方法目前OpenCV中就霍夫梯度法一种可以使用它的标识符为CV_HOUGH_GRADIENT在此参数处填这个标识符即可。 第四个参数double类型的dp用来检测圆心的累加器图像的分辨率于输入图像之比的倒数且此参数允许创建一个比输入图像分辨率低的累加器。上述文字不好理解的话来看例子吧。例如如果dp 1时累加器和输入图像具有相同的分辨率。如果dp2累加器便有输入图像一半那么大的宽度和高度。 第五个参数double类型的minDist为霍夫变换检测到的圆的圆心之间的最小距离即让我们的算法能明显区分的两个不同圆之间的最小距离。这个参数如果太小的话多个相邻的圆可能被错误地检测成了一个重合的圆。反之这个参数设置太大的话某些圆就不能被检测出来了。 第六个参数double类型的param1有默认值100。它是第三个参数method设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法CV_HOUGH_GRADIENT它表示传递给canny边缘检测算子的高阈值而低阈值为高阈值的一半。 第七个参数double类型的param2也有默认值100。它是第三个参数method设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法CV_HOUGH_GRADIENT它表示在检测阶段圆心的累加器阈值。它越小的话就可以检测到更多根本不存在的圆而它越大的话能通过检测的圆就更加接近完美的圆形了。 第八个参数int类型的minRadius,有默认值0表示圆半径的最小值。 第九个参数int类型的maxRadius,也有默认值0表示圆半径的最大值。
http://www.yutouwan.com/news/116189/

相关文章:

  • 网站维护包括云设计平台
  • 做死活题网站wordpress pdf
  • 新手学做网站 视频百度网盘北京网络推广外包公司排行
  • 做网站外贸怎么找客户wordpress 评论关闭
  • 郑州响应式建站wordpress新浪图床会挂吗
  • 金溪那里可以做网站展开网站建设
  • 定制型网站建设平台wordpress快递模板下载
  • WordPress智能友链审核标题优化方法
  • 广东双语网站建设价格建网站用什么软件
  • 关于校园网站升级建设的报告九脉堂是做网站的
  • 适合seo的建站系统商丘网吧什么时候恢复营业
  • 旅游设计网站公司网站大顶图怎么做
  • 优质的响应式网站建设2021年
  • 湖北建设执业注册管理中心网站标智客logo在线设计生成器
  • 哔哩哔哩网站怎么做视频最好的网站模板网站
  • 怎么做国外游戏下载网站做哪种类型的网站赚钱呢
  • 自己怎么给网站做优化徐州企业网站排名优化
  • 网站建设保教wordpress图片比例拉伸
  • 长春吉林建设信息网站仿摄影网站
  • 网站建设的公司合肥顺德品牌网站建设价位
  • 国展网站建设注册服务公司流程和费用
  • 蔬菜派送网站怎么做嘉兴网站模板建站
  • 网站建设php带数据库模板wordpress找回密码链接失效
  • 做网站 绑定域名最新招商代理项目
  • 做网站可视化深圳建站公司企业
  • 企业网站建设方案书范本摄影网站设计说明
  • 手机网站搜索框代码国际新闻最新消息今天简短
  • 整屏幕滑动的网站wordpress插件大全
  • 如何用kali做网站渗透重庆网站公司建设
  • wordpress搜索引擎源码seo关键词排名优化软件怎么选