Opencv
fu18946764506
这个作者很懒,什么都没留下…
展开
-
高斯、中值、均值、双边滤波
#include "cv.h"#include "highgui.h"#include using namespace std;using namespace cv;int main(int argc, char* argv[]){ Mat src = imread("misaka.jpg"); Mat dst; //参数是按顺序写原创 2017-08-23 13:58:14 · 394 阅读 · 0 评论 -
图像增强—Gamma变换
Gamma变换: y=x^gamma; gamma>1, 较亮的区域灰度被拉伸,较暗的区域灰度被压缩的更暗,图像整体变暗; gamma原创 2017-09-21 11:23:25 · 5191 阅读 · 0 评论 -
Sobel边缘检测
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include using namespace cv;/** @function main */int main( int argc, char** argv ){ Mat src, src_gray;原创 2017-09-18 10:14:46 · 532 阅读 · 0 评论 -
去除二值图像的杂散点
i=imread('t1.jpg');i=rgb2gray(i);h=im2bw(i);figure,imshow(h)f=bwareaopen(h,50);figure,imshow(f)g=imdilate(f,strel('disk',2));figure,imshow(g)原创 2017-08-23 13:32:13 · 12128 阅读 · 2 评论 -
opencv 灰度直方图
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp" #include using namespace cv;using namespace std;int main(){ Mat srcImage = imread("F://19.jpg"); imshow("转载 2017-08-22 20:36:42 · 296 阅读 · 0 评论 -
形态学处理
图像处理经常要用到形态学操作,其中首先要获取 结构元素。包括结构元素的大小及形状。自定义一个结构元素kernel,要声明一个Mat,然后对Mat的元素赋值;这种方法灵活但略显复杂。OpenCV提供了一个函数getStructuringElement,可以获取常用的结构元素的形状:矩形(包括线形)、椭圆(包括圆形)及十字形。MORPH_RECT, MORPH_ELLIPS转载 2017-08-22 14:02:46 · 688 阅读 · 0 评论 -
opencv中的开运算,闭运算,形态学梯度,顶帽和黑帽
开运算:先腐蚀,再膨胀可以清除一些小东西(亮的),放大局部低亮度的区域闭运算:先膨胀,再腐蚀可以清除小黑点形态学梯度:膨胀图与腐蚀图之差提取物体边缘顶帽:原图像 - 开运算图突出原图像中比周围亮的区域黑帽:闭运算图 - 原图像突出原图像中比周围暗的区域转载 2017-08-22 14:32:06 · 462 阅读 · 0 评论 -
RotatedRect类opencv
RotatedRect该类表示平面上的旋转矩形,有三个属性:矩形中心点(质心)边长(长和宽)旋转角度[cpp] view plain copyclass CV_EXPORTS RotatedRect { public: //构造函数 RotatedRect(); Rotated转载 2017-08-22 15:10:18 · 490 阅读 · 0 评论 -
垂直投影
原图:#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include #include using namespace cv; using namespace std; vector horizontalProjectionMat(Mat srcImg)/转载 2017-09-22 14:13:40 · 1192 阅读 · 1 评论 -
霍夫直线概率检测
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include using namespace cv;using namespace std; int main(int argc, char** argv) { Mat src = imread("D:原创 2017-09-25 14:26:06 · 774 阅读 · 0 评论 -
消除RGB受光照影响
//该代码实现白平衡算法中的灰度世界法,能有效改善图像发红发蓝发绿的现象; 2 3 #include 4 using namespace cv; 5 6 int main() 7 { 8 Mat g_srcImage,dstImage; 9 vector g_vChannels;10 g_srcImage = imread("C:/Users/Adm原创 2017-10-11 11:30:21 · 7447 阅读 · 0 评论 -
OpenCV - 最大熵分割
图像分割系列的博客陆陆续续写了好几篇了,这次继续写写利用最大熵模型来进行图像的阈值分割。如果对其他相关博客感兴趣可进入下面的链接查看: 1. OpenCV - 区域生长算法 2. OpenCV - 均值迭代分割 3. OpenCV - 最大间方差(OTUS)分割 4. OpenCV - 最大熵分割1. 最大熵是什么?这里所说的熵是指信息熵,信息熵是来自于信息论的一个转载 2017-10-12 14:25:22 · 460 阅读 · 0 评论 -
调整对比度及亮度
#includeusing namespace cv;int brightness = 5;int contrast = 5;Mat src;Mat brightnessContrast;void BrightnessContrastFilter(int, void*){ float bri = brightness / 5.0f; float cont = contr原创 2017-10-23 14:09:58 · 1525 阅读 · 0 评论 -
SVM
先来看一下什么是SVM(支持向量机)SVM是一种训练机器学习的算法,可以用于解决分类和回归问题,同时还使用了一种称之为kernel trick(支持向量机的核函数)的技术进行数据的转换,然后再根据这些转换信息,在可能的输出之中找到一个最优的边界(超平面)。简单来说,就是做一些非常复杂的数据转换工作,然后根据预定义的标签或者输出进而计算出如何分离用户的数据。支持向量机方法是建立在统计转载 2017-11-02 13:19:51 · 668 阅读 · 0 评论 -
opencv函数
1、cvLoadImage:将图像文件加载至内存;2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;5、cvReleaseImage:释放图像文件所分配的内存;6、cvDestroyWindow:销毁显示图像文件的窗口;7、c转载 2017-11-07 15:59:18 · 532 阅读 · 0 评论 -
car identify Location
*------------------------------ - 程序介绍------------------------------*/ //版本:VS2017 + Opencv2.4.9 //描述:OpenCV学习之路——车牌识别之车牌定位 /*-----------------------------------------------------------------------原创 2017-11-16 11:18:17 · 310 阅读 · 0 评论 -
DIY 滤波器
接上篇 在其官方文档中,filter2D()函数在掩模板介绍中一笔带过,我认为该函数应该进行详细介绍。 对于使用掩模板矩阵(kernel)计算每个像素值,结合函数filter2D()函数,其定义如下:CV_EXPORTS_W void filter2D( InputArray src, OutputArray dst, int ddepth,转载 2017-11-16 11:46:35 · 662 阅读 · 0 评论 -
特征检测和特征匹配方法汇总
一幅图像中总存在着其独特的像素点,这些点我们可以认为就是这幅图像的特征,成为特征点。计算机视觉领域中的很重要的图像特征匹配就是一特征点为基础而进行的,所以,如何定义和找出一幅图像中的特征点就非常重要。这篇文章我总结了视觉领域最常用的几种特征点以及特征匹配的方法。在计算机视觉领域,兴趣点(也称关键点或特征点)的概念已经得到了广泛的应用, 包括目标识别、 图像配准、 视觉跟踪、 三维重建等。 这个...转载 2018-12-25 11:16:40 · 390 阅读 · 0 评论