- 博客(17)
- 资源 (1)
- 收藏
- 关注
转载 [转]OpenCV遍历目录
在做图像处理的时候,可能进行一个文件夹的所有文件的遍历。有一种比较笨的方式是使用c 的文件夹遍历方式,但是代码太难理解,而且如果在windows中使用还需要使用wchar_t宽字符。opencv本身就有目录遍历的类库,非常方便,我以前还一直傻傻的使用c的方式进行遍历。示例代码:非常简单的操作[cpp] view plai
2014-03-17 09:19:51 725
原创 64-bitwin8 + Qt5.2.0(MSVS x86) + opencv2.4.6开发环境配置
这几天快被弄死了,就为了搭这开发环境最开始使用Qt.5.2(mingw)自带mingw4.8但是总是有link问题,(报错:程序异常退出)一怒之下换了MSVSQt官网上写着for 64-bit 其实这个64指的是VS而不是windows换上x86之后又总是 莫名其妙难道添加个头文件目录还会报错?后来终于找到了解决办法:在项目里取消shadow build,终于成功
2013-12-30 22:32:20 1061
原创 opencv笔记9----set ROI(in C++ interface)
ROI是图像的感兴趣区域在边缘和轮廓提取中有很重要的作用,往往可以大幅缩短运算时间。中文网站上大多都是c程序,opencv c++ interface没有了 cvSetImageROI这样的函数这里总结一下。使用ROI的流程如下-> Load image-> SetImageRoi-> Do some processing on ROI region->
2013-11-06 16:30:14 3511
原创 opencv笔记8----从大恒工业摄像头读取图像
采用大恒MER系列工业摄像机,不能用opencv自带函数打开摄像头,需要用厂商提供的API工业摄像头采集的图片格式为BYTE,opencv需要从内存中读取BYTE,转化成IplImage *(in C) 或者Mat( in c++)#include "stdafx.h"#include "camera.h"#include #include using namespace
2013-10-25 10:31:17 20315 22
转载 opencv笔记7----Mat访问每个像素
图像容器MatMat和Matlab里的数组格式有点像,但一般是二维向量,如果是灰度图,一般存放类型;如果是RGB彩色图,存放类型通道灰度图数据存放格式:多通道的图像中,每列并列存放通道数量的子列,如RGB三通道彩色图:注意通道的顺序反转了:BGR。通常情况内存足够大的话图像的每一行是连续存放的,也就是在内存上图像的所有数据存放成一行,
2013-10-25 10:04:22 841
原创 opencv笔记6----轮廓检测
轮廓检测是个很麻烦的事情,需要排除各种环境因素,难以有普遍适用的标准,本程序也只是在不规则形状表面粗糙的工件轮廓检测中寻找到的较为适合的方法首先进行平滑灰度化、然后进行Canny边缘检测、进行闭运算连接缺口平滑边缘、对内部填充、检测轮廓(去掉小轮廓)网上找到的一些程序在findContours之前对图像进行二值化,感觉效果不佳,且需要反复调节阈值直接进行Canny检测边缘图形效果更好
2013-09-30 17:52:54 1758
原创 opencv笔记5----通过HSV进行颜色分离
图片通常是以RGB格式存储,难以分离出颜色,可以转换到HSV空间进行颜色分离。(转自Wiki)HSL 和 HSV(也叫HSB)是对RGB 色彩空间中点的两种有关系的表示,它们尝试描述比 RGB 更准确的感知颜色联系,并仍保持在计算上简单。H指hue(色相)、S指saturation(饱和度)、L指lightness(亮度)、V指value(色调)、B指brightn
2013-09-30 17:44:54 20561 1
原创 opencv笔记4----透视变换
透视变换通过变换矩阵(3*3)将任意视角的照片转换为垂直视角,要得到变换矩阵需要提供两个坐标系的对应点照片中取点的方法分为手动和自动,自动取点又可以分为检测强角点、检测直线角点、检测圆心等多种方式,随具体情况而定。本项目要检测不规则工件轮廓,因此将工件置于标准矩形白板上,拍照整个白板,希望检测出白板的四个顶点直接根据图形特征检测(角点、直线、圆)都会受到环境的干扰,尤其是背景的干扰,可
2013-09-30 17:40:07 1693
原创 opencv笔记3----摄像机标定
摄像机标定程序计算出相机内参数矩阵(3*3)、畸变参数矩阵(5*1)和外参数矩阵(3*3旋转矩阵+3*1平移矩阵),其中内参数矩阵和畸变参数矩阵固定不变,外参数矩阵由相机与被拍摄物的相对位置而定。opencv采用Zhang Zhengyou算法,区别于matlab的标定工具箱(calibration toolbox)采用Tsai算法 #include "stdafx.h"#inclu
2013-09-30 17:32:54 1487 1
原创 opencv笔记2----摄像机标定中的棋盘角点检测
所用棋盘为8*8国际象棋棋盘,共检测7*7个角点#include "stdafx.h"#include #include using namespace cv;int main(){ int CurrentImage = 0; int CurrentRow = 0; //行 int CurrentColumn = 0;
2013-09-30 17:28:46 3490 1
原创 opencv笔记1----读取摄像头
opencv读取摄像头新建VideoCapture类 构造函数参数0表示内置摄像头 1表示外界摄像头#include "stdafx.h"#include using namespace cv;int main(){ namedWindow("Chess",0); VideoCapture cap(1);//0 表示内置 1表示外接摄像头 if(!cap.i
2013-09-30 11:59:14 1566 1
转载 [转]opencv轮廓提取(findcontours函数详解)
findContours函数,这个函数的原型为:void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierar-chy, int mode, int method, Point offset=Point())参数说明输入图像image必须为一个2值单通道图像
2013-09-04 15:31:47 3288
转载 [转]基于C++的OpenCV常用函数(与C对比)
原地址http://blog.csdn.net/fengbingchun/article/details/61775301. imread(cvLoadImage):loads an image from a file;2. imshow(cvShowImage):displays an image in the specifiedwidow
2013-09-04 15:28:13 1636
转载 【转】获取网页表单信息
import mechanizeimport sysbr = mechanize.Browser()response = br.open(sys.argv[1])for form in br.forms(): print "name:[%r] id:[%r] action:[%s]" %(form.name, form.attrs.get('id'), form.action) pr
2013-08-31 10:29:47 892
转载 [转]mechanize模拟浏览器行为使用总结
mechanize是对urllib2的部分功能的替换,能够更好的模拟浏览器行为,在web访问控制方面做得更全面。结合beautifulsoup和re模块,可以有效的解析web页面,我比较喜欢这种方法。 下面主要总结了使用mechanize模拟浏览器的行为和几个例子(谷歌搜索,百度搜索和人人网登录等)1.初始化并建立一个浏览器对象 如果没有mechanize需要e
2013-08-18 22:58:10 808
转载 [转]Sublime Text 3 配置基本Java环境
今天无意中发现这个编辑器,然后在网上看到2版的配置Java环境,但是找不到3版的。后来自己摸索了下,成功了PS:修改于2013-06-15 12:02:18。亲测可支持编译中文。 网盘下载的本人已修改,解压到文件,runJava.bat指定位置即可使用,仅需额外配置环境变量 另外如果需要支持GBK,可以下载个(ConvertToUTF8)package就行了,那
2013-08-18 22:52:51 577
原创 python实现街旁自动签到
# -*- coding: UTF-8 -*-import mechanizeimport cookielibimport sysfrom BeautifulSoup import BeautifulSoupclass CheckIn: def __init__(self,url): self.br = mechanize.Browser() s
2013-08-18 22:47:18 938
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人