图像识别与处理之Opencv——霍夫变换编程思路(11月2日暂存)
来源:互联网 发布:html5 css3 js 教程 编辑:程序博客网 时间:2024/05/18 01:50
三、编程思路
1. 读取一幅带处理二值图像,最好背景为黑色;
2. 取得源像素数据;
3. 根据直线的霍夫变换公式完成霍夫变换,预览霍夫空间结果;
4. 寻找最大霍夫值,设置阈值,反变换到图像RGB值空间(程序难点之一);
5. 越界处理,显示霍夫变换处理以后的图像;
代码暂存
#include "stdafx.h"#include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include "opencv2/opencv.hpp"using namespace std;using namespace cv;int main(int argc, char* argv[]){ Mat image = imread("all1.jpg"); Mat imageGray; // cvtColor(image, imageGray, CV_RGB2GRAY); //将数组的通道从一个颜色空间转换另外一个颜色空间,转化为二值化图 GaussianBlur(imageGray, imageGray, Size(3, 3), 1, 2); //高斯滤波,高斯模糊降低噪声 平滑它,否则可能会检测到很多假圆 namedWindow("Gaussian Image", 1); imshow("Gaussian Image", imageGray); //高斯滤波后的图像 vector <Vec3f> circles; //三维向量,存储圆心和半径/************************************************************************************************************ HoughCircles( InputArray image, OutputArray circles, int method, double dp, double minDist, double param1 = 100, double param2 = 100, int minRadius = 0, int maxRadius = 0 );*********************************************************************************************************/ HoughCircles(imageGray, circles, CV_HOUGH_GRADIENT, 1, 1, 200, 160, 0); // 关键句,霍夫梯度法 for (int i = 0; i<circles.size(); i++) // { Point circleCenter(circles[i][0], circles[i][1]); // int radius = circles[i][2]; // circle(image, circleCenter, radius, Scalar(0, 0, 255), 3); //做圆 circle(image, circleCenter, 3, Scalar(255, 0, 0), 3); //圆心 } namedWindow("Circle Image", 1); imshow("Circle Image", image); //在图像上显示圆 namedWindow("Gaussian Circle Image", 1); imshow("Gaussian Circle Image", imageGray); //在图像上显示圆 waitKey(0);}
阅读全文
0 0
- 图像识别与处理之Opencv——霍夫变换编程思路(11月2日暂存)
- 图像识别与处理之Opencv——高斯滤波GaussianBlur() 11月2日暂存
- 图像识别与处理之Opencv——识别直线与圆形(对应棋盘棋子)11月1日暂存
- 图像识别与处理笔记——字符识别、邮政编码识别(10月8日暂存)
- 图像识别与处理之Opencv——Mat类
- 图像识别与处理之Opencv——图像数据获取与存储(imread()和imwrite()函数)
- 图像识别与处理之Opencv——选取图像局部区域
- 图像识别与处理之Opencv——Mat_类与Mat 类的内存管理
- 第五届电气学院比赛之XXX——PID基本思路(11月5日暂存)
- 图像识别与处理之Opencv——像素值的读写
- 图像识别与处理之Opencv——基本数据结构及示例
- 图像识别与处理之Opencv——常用的OpenCV2函数速查
- 图像识别与处理之Opencv——高斯滤波及GaussianBlur()函数
- 图像识别与处理之Opencv——Mat表达式的运算(矩阵的一些运算)
- C++语法基础之关键字与标识符(10月4日暂存)
- 图像处理——霍夫变换
- OpenCV图像处理篇之Hough变换
- opencv图像处理之仿射变换
- 20171101
- bzoj 1969: [Ahoi2005]LANE 航线规划 离线+树链剖分+线段树
- 【剑指offer】41-50题
- Javascript DOM图片库
- MVP模式的OKhttp请求网络数据,xrecyclerview上拉刷新,下拉加载
- 图像识别与处理之Opencv——霍夫变换编程思路(11月2日暂存)
- HDU 5253 连接的管道 【最小生成树】
- [2017纪中11-2]救赎 dfs序+树状数组 / 递推
- HttpClient的gradle权限
- Hello
- 练习 栈
- 洛谷 1991 无线通讯网 最小生成树 解题报告
- 2、操作系统的发展与分类
- Fresco加载图片详解