opencv
moses1213
积跬步,至千里;积小流,成江海!
展开
-
opencv几种常见的阈值分割方式
下面就介绍OpenCV中对图像进行二值化的关键函数——cvThreshold()。函数功能:采用Canny方法对图像进行边缘检测函数原型:void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int thresh原创 2015-03-20 17:30:11 · 4313 阅读 · 0 评论 -
opencv图片旋转90度,180度,270度
网上关于opencv图片旋转的代码有很多,但是对于像90度,180度,270度的这样特殊的角度用opencv自带的cvTranspose和cvFlip就可以很容易实现旋转了,cvFlip的第三个参数1,2,3分别对应90度,180度,270度,下面是图片旋转90度简单的例子:#include "cv.h"#include "highgui.h"using namespace std;in原创 2015-09-28 21:38:48 · 25650 阅读 · 1 评论 -
CUDA用于图像处理中的形态学开闭运算
#include #include #include #include #include #include #include #include "cuda_runtime.h"#include "device_launch_parameters.h"using namespace std;#define width 800#define height 600__globa原创 2015-08-31 10:20:18 · 2389 阅读 · 0 评论 -
opencv按轮廓面积排序
用cvFindcontour可以直接得到图像的多个轮廓,但最近使用时发现cvSeq序列可能存在某个结点为零的情况,即轮廓点数为零,这对我们是没有用的,所以产生了将轮廓按面积大小排序的想法,面积大的排在序列前面,优先使用,面积为零的轮廓舍去,下面是代码实现:static int cmp_func( const void* _a, const void* _b, void* userdata )原创 2015-06-30 21:49:48 · 5809 阅读 · 0 评论 -
opencv-最大类间方差法改进算法
现有的阈值分割方法例如最大类间方差阈值分割、迭代法阈值分割对于光斑图像分割的效果都不理想。通过研究得出,光斑图像具有背景暗而目标亮,背景面积大而目标面积小特点, 并结合大津阈值分割的思想, 本文提出了一种针对光斑图像的阈值分割方法。以背景和目标的类间方差最大,类内方差最小,背景与目标的面积比最大作为判定准则。设一幅图像的灰度值为0~m-1 级,图像中灰度值为i 的像素的个数为ni,用阈值T 将其分原创 2015-04-29 17:21:18 · 2274 阅读 · 0 评论 -
Opencv图像显示出现倒立
在使用opencv显示图像时会出现图像倒立的情况,IplImage的origin属性有关系。origin为0表示顶左结构,即图像的原点是左上角,如果为1为左下角。一般从硬盘读入的图片或者通过cvCreateImage方法创建的IplImage图片默认的origin为0,即显示的时候都是正的。而由摄像头或者视频文件获取的帧图像origin为1,此时显示的时候扫描顺序是从下到上,显示也是正的。但是如果转载 2015-04-30 15:41:37 · 534 阅读 · 0 评论 -
opencv最大类间方差法(otsu)实现(三种算法比较)
OTSU算法:就是计算出灰度图最佳阈值的算法1.先对灰度图进行直方图计算并归一化处理,得到0-255之间每个像素在灰度图中出现的概率,即表示为某个像素在灰度图中出现了n个,灰度图总的像素点为N个,则这个像素的出现概率为Pi=n/N2.每个灰度图可以由阈值k将灰度图分为A,B两大类,很容易得到A,B类在灰度图中的出现概率以及灰度均值3.计算灰度图A,B类得类间方差,在最佳阈值K处,求得的原创 2015-04-22 22:36:50 · 11639 阅读 · 1 评论 -
opencv-有关内存释放的一些问题
花了一天调试采集视频内存泄露的问题,所有申请的内存仔细检查过都已经释放问题仍然得不到解决,所幸在论坛上找到这篇文章,原来是cvCloneImage惹的祸!大神总结的很好,直接转载了:OpenCV中的内存泄露问题(cvLoadImage,cvCloneImage)在做项目的过程中,使用OpenCV经常会出现一些内存泄露问题,自己编写的程序出现问题还情有可原,但若是库函数调用和转载 2015-04-25 20:15:01 · 909 阅读 · 0 评论 -
图片识别前奏—计算两幅图片的皮尔逊相关系数
图片识别方法之一:颜色分步法每张图片都可以生成颜色分布的直方图(color histogram)。如果两张图片的直方图很接近,就可以认为它们很相似。任何一种颜色都是由红绿蓝三原色(RGB)构成的,所以上图共有4张直方图(三原色直方图 + 最后合成的直方图)。如果每种原色都可以取256个值,那么整个颜色空间共有1600万种颜色(256的三次方)。针对这1600万种原创 2015-04-17 19:29:29 · 15575 阅读 · 10 评论 -
opencv-最小二乘法拟合光斑最大轮廓
预处理中,使用了OTSU阈值分割,opencv中cvThreshold函数可以一步实现,但发现效果不理想,改用了先前自己实现的的办法。轮廓只保留面积最大的,然后找出圆心并在图上标注。代码:#include "cv.h"#include "highgui.h"#include using namespace std;int otsu(IplImage* src) { Cv原创 2015-04-24 16:35:38 · 4936 阅读 · 0 评论 -
opencv图像灰度重心算法
导师交给的项目,其中一步就是求光斑的重心,网上有很多关于重心的代码,大体是利用cvFindContour函数找出图像的轮廓,然后将图像阈值分割,二值化处理。这样处理后图像的灰度值只有0和1两个值,丢失了很多灰度信息,这样找出来的重心实际上是轮廓几何图形的形心,灰度值的影响并没有反应出来。 下面介绍一下灰度重心法: 对于亮度不均与的目标,灰度重心法可按目标光强分布求出光强权重质心坐标作为原创 2015-03-27 17:14:15 · 16853 阅读 · 7 评论