对摄像头采集的图像做hough变换。
来源:互联网 发布:ppt数据分析图表对比 编辑:程序博客网 时间:2024/05/22 14:04
hough变换主要是对直线做特征提取,但是很多都是对静态的图片做hough变换,我觉得意义并不大,如果能实时的对摄像头采集到的图像做hough变换,提取直线的话就能为我们提供更多安全,比如我们做的高压线防撞系统。下面代码是我做的关于一点摄像头提取图像进行hough变换,但是出路速度很慢,可能就是一帧一帧的提取再处理,有点像放幻灯片,所以还需要改进,如果有大神还请指教。谢谢!
#include<cv.h>
#include<highgui.h>#include<iostream>
// #pragma comment(lib, "cv.lib")
// #pragma comment(lib, "cxcore.lib")
// #pragma comment(lib, "highgui.lib")
using namespace std;
using namespace cv;
int main(int argc,char** argv)
{
CvCapture* capture1 = cvCreateCameraCapture(0);
double w=640,h=480;
//cvNamedWindow("camera_1",CV_WINDOW_AUTOSIZE);
cvSetCaptureProperty(capture1,CV_CAP_PROP_FPS,5);
IplImage* pImgSrc = NULL; //源图像
IplImage* pImg8u = NULL; //灰度图
IplImage* pImgCanny = NULL; //边缘检测后的图
IplImage* pImgDst = NULL; //在图像上画上检测到的直线后的图像
CvSeq* lines = NULL;
CvMemStorage* storage = NULL;
/*边缘检测*/
//pImgSrc = cvLoadImage ("D:\\wode.jpg", 1);
while(1)
{
cout<<"1"<<endl;
pImgSrc=cvQueryFrame(capture1);
pImg8u = cvCreateImage (cvGetSize(pImgSrc), IPL_DEPTH_8U, 1);
pImgCanny = cvCreateImage (cvGetSize(pImgSrc), IPL_DEPTH_8U, 1);
pImgDst = cvCreateImage (cvGetSize(pImgSrc), IPL_DEPTH_8U, 1);
cvCvtColor (pImgSrc, pImg8u, CV_BGR2GRAY);
cvCanny (pImg8u, pImgCanny, 20, 200, 3);
/*检测直线*/
storage = cvCreateMemStorage (0);
lines = cvHoughLines2 (pImgCanny, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 80, 200, 10);
pImgDst = cvCreateImage (cvGetSize(pImgSrc), IPL_DEPTH_8U, 3);
cvCvtColor (pImg8u, pImgDst, CV_GRAY2BGR);
/*在pImgDst上画出检测到的直线*/
for (int i = 0; i < lines->total; i++)
{
CvPoint* line = (CvPoint*)cvGetSeqElem (lines, i);
cvLine (pImgDst, line[0], line[1], CV_RGB(255,0,0), 3, 8);
}
//cvNamedWindow ("src",1);
//cvNamedWindow ("canny", 1);
//cvNamedWindow ("hough", 1);
cvShowImage ("src", pImgSrc);
cvShowImage ("canny", pImgCanny);
cvShowImage ("hough", pImgDst);
cvWaitKey (0);
}
cvReleaseImage (&pImgSrc);
cvReleaseImage (&pImg8u);
cvReleaseImage (&pImgCanny);
cvReleaseImage (&pImgDst);
cvReleaseMemStorage (&storage);
return 0;
}
下面是我采集到的一部分图像,可以参考
0 0
- 对摄像头采集的图像做hough变换。
- opencv对摄像头采集视频的几种变换
- 基于matlab的图像hough变换
- 对经典的Hough 变换的理解
- 毕业课题之------------图像的直线提取--hough变换
- 图像中直线的检测——Hough变换原理
- matlab图像的Hough变换以及灰度级插值
- 图像变换-使用Hough变换检测圆
- 基于V4L2的摄像头图像采集
- Hough变换的实现
- Hough变换的基本原理
- Hough变换的理解
- Hough变换的原理:
- Hough变换的理解
- 调用摄像头采集图像
- 双目摄像头采集图像
- 图像处理基本算法 Hough变换
- OpenCV图像处理篇之Hough变换
- Windows 7 64下android NDK开发环境的搭建与配置
- 字符串库函数
- 从这里开始,学着分享
- ehcache memcache redis 三大缓存
- 类加载器学习
- 对摄像头采集的图像做hough变换。
- 一个无聊下午的无聊感触,我们都应该具备三个学习态度
- LeetCode :: Binary Tree Zigzag Level Order Traversal [tree, BFS]
- 11.3布局管理器补充 GridLayout
- NOJ1587 &&小学奥数题 多人过桥问题
- 华为内部推荐,比惨大会 (转载)
- 关于linux中的延时函数
- OCP 1Z0 053 172
- CSS中margin边界叠加问题及解决方案