• OpenCV图像处理函数 2015-07-21 11:17:56
    filter2D() 用核函数对图像做卷积sepFilter2D() 用分解的核函数对图像做卷积。首先,图像的每一行与一维的核kernelX做卷积;然后,运算结果的每一列与一维的核kernelY做卷积boxFilter() 就是滑动窗口平均滤波的二维...
    1。滤波 Filtering
    filter2D() 用核函数对图像做卷积
    
    sepFilter2D() 用分解的核函数对图像做卷积。首先,图像的每一行与一维的核kernelX做卷积;然后,运算结果的每一列与一维的核kernelY做卷积
    
    boxFilter() 就是滑动窗口平均滤波的二维版。
    GaussianBlur() 高斯平均,也就是高斯模糊。
    medianBlur() 中值滤波,个人最爱的滤波函数。
    bilateralFilter() 双线性滤波。
    前面这四个函数是原来OpenCV里的cvSmooth()取不同参数的应用。
    Sobel() 使用扩展 Sobel 算子计算一阶、二阶、三阶或混合图像差分。
    Scharr() 计算一阶导,x方向或y方向,以前这个方法是放在cvSobel里的。
    Laplacian() 拉普拉斯变换。
    erode(), dilate() 腐蚀、膨胀。
    
    示例:
    
    ```
    filter2D(image, image, image.depth(), (Mat(3,3)<<-1, -1, -1, -1, 9, -1, -1, -1, -1), Point(1,1), 128);
    
    ```
    
    构造了一个如下所示的核对图像做卷积:
    -1 -1 -1
    -1 9 -1
    -1 -1 -1
    核的锚点在(1,1)位置,卷积之后每个像素加上128.
    2。几何变换 Geometrical Transformations
    resize() 改变图像尺寸,可以指定x方向和y方向上的缩放比例,可以指定插值方法。
    getRectSubPix() 以亚像素精度从图像中提取矩形。 dst(x,y)=src(x+center.x-(dst.cols-1)*0.5,y+center.y-(dst.rows-1)*0.5) 其中非整数象素点坐标采用双线性插值提取。
    warpAffine() 仿射变换。
    warpPerspective() 透射变换。
    remap() 几何变换。
    convertMaps() 将图像从一种类型,转换成另一种类型。
    
    示例:
    
    ```
    Mat dst;
    resize(src, dst, Size(), 1./sqrt(2), 1./sqrt(2)); // 把图像缩小到原来的根号二分之一。
    ```
    
    3。 图像变换 Various Image Transformations
    cvtColor()色彩空间转换。这个函数可以用于把CCD的raw格式转换为RGB,请参考,但是不能用于把灰度图转成伪彩图,请参考。
    threshold()  二值化,常用操作,一般应用时建议用大津算法,即使用THRESH_OTSU参数。
    adaptivethreshold()  自适应阈值的二值化。
    floodFill()  填充连通域。
    integral()  计算积分图像,一次或者二次。
    distanceTransform()  距离变换,对原图像的每一个像素计算到最近非零像素的距离。
    watershed()  分水岭图像分割。
    grabCut()
    一种彩色图像分割算法,效果可以参考这里。See the samples watershed.cpp and grabcut.cpp.
    4。 直方图 Histograms
    calcHist()  计算直方图。
    calcBackProject()  计算反向投影。
    equalizeHist()  灰度图像的直方图均衡化,常用操作。
    compareHist()  比较两个直方图。
    例子:计算图像的色调-饱和度直方图。
    
    ```
    Mat hsv, H;
    cvtColor(image, hsv, CVBGR2HSV);
    int planes[]=f0, 1g, hsize[] = f32, 32g;
    calcHist(&hsv, 1, planes, Mat(), H, 2, hsize, 0);
    
    ```
    展开全文
  • 转眼大学四年就要过去了,终于到了做毕设的时候。选的题目我只能说比较僵,目标跟踪。。。根本不会,不过研究生导师是搞这方面的,早点学习一下也挺不错的。 我老师给我的要求是使用...要进行图像处理,首先肯定是要
  • 学习opencv有一段时间了,在调试自己编写的程序或是在调试别人的示例时,总是会遇到各种各样的异常,这些异常通常是调用opencv库函数引起的。引发这些异常的原因很多,通常是因为参数传递的不合适导致的。由于本人是...
  • 在OpenCV库中新增自定义函数和修改库函数OpenCV库函数功能强大,但是有时候并不能满足我们搞图像处理的,所以有时候想修改库函数或者新增自定义函数,然后在自己编写的程序中像OpenCV那样调用它。修改库函数比较简单...
  • 1&gt; Mat img1(3,5,CV_32F); //创建一个具有32位浮点数的3 x 5单通道数组 Mat img2(23,53,CV_64FC(5)); //创建一个带有64位浮点数的23 x 53 5通道数组 Mat img3(Size(100,200),CV_16UC2);...
  • 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度定义)。只要你接触到图像处理这块,肯定会用到这个库,...
  • 前言:opencv已经更新到3.1.0的版本,此文列出其在2.0版本时代的库函数,多数函数与3.0以上版本有着相似之处,比如很多2.0版本函数名去掉前缀cv就是3.0版本的函数名cvWaitKey变成Waitkey(),cvNamedWindow变成...
  • 17/100发布文章 博文管理我的博客退出 ...什么是指针 OpenCV入门即颠峰:使用Mat类(彩色测试) OpenCV入门即颠峰:使用Mat类(灰度测试) OpenCV入门即巅峰:Mat类的使用(彩色测试) OpenCV图像处理:图像锐化操...
  • 来源:OpenCV-Python 中文教程   22 直方图 22.1 直方图的计算,绘制与分析 目标  • 使用 OpenCV 或 Numpy 函数计算直方图  • 使用 Opencv 或者 Matplotlib ...通过直方图你可以对整幅图像的灰度分布有一...
  • OpenCV库函数捕捉图像上传FTP服务器 前一段时间实验用到将摄像头捕捉的图像上传到一个网内的FTP服务器的功能,于是写了一个封装类。上传FTP服务器的功能主要使用了MFC中的CInternetSession和CFtpConnection类,...
  • OpenCv函数库 2020-07-05 23:30:16
    1、cvLoadImage:将图像文件加载至内存; 2、cvNamedWindow:在屏幕上创建一个窗口; 3、cvShowImage:在一个已创建好的窗口中显示图像; 4、cvWaitKey:使程序暂停,等待用户触发一个按键操作; 5、...
  • 1、图像的拷贝和深层次复制—copyTo()和clone() (1)、copyTo() 方法也是深拷贝,但是会不会去申请新的内存空间,取决于dst矩阵头中的大小信息是否与src一至,若一致则只深拷贝并不申请新的空间,否则先申请空间后再...
  • OpenCV常用库函数 2018-06-08 13:36:10
    一、core 模块1、Mat - 基本图像容器 Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的...
  • opencv是很常用的图像处理库。但是随着版本的更新, opencv3 将许多认为不稳定或存在版权的函数源码都包含在了contribute模块中没有作为编译好的库文件发布出来。为了使用这些函数,我们需要将opencv的源码再次编译...
  • 1,代码及注释 #include "highgui.h" void example2_4(IplImage* image){  cvNameWindow("Example4-in");  cvNameWindow("Example4-out"... IplImage* out =cvCreat...
  • 本篇文章讲解图像灰度化处理的知识,结合OpenCV调用cv2.cvtColor()函数实现图像灰度操作,使用像素处理方法对图像进行灰度化处理。基础性知识希望对您有所帮助。 1.图像灰度化原理 2.基于OpenCV图像灰度化处理 3....
  • 实现OpenCV的视频图像处理 2019-01-08 14:02:39
    嵌入式ARM及ARM-Linux操作系统已广泛应用于工业控制、通信、医疗仪器等各个领域。ARM设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如...
  • opencv图像锐化 2017-12-13 18:56:23
    #include#include #include using namespace std; using namespace cv; int main() { const char* imagename = "C://Users//huashuo111//Desktop//test2.bmp";... //从文件中读入图像 Mat img = imread(imagename
  • 1、下载xfopencv_master库。 2、打开VIVADO HLS 新建工程。 ... 3、打开xfopencv_master\examples\hog文件夹,将内部源代码和头文件复制到当前工程...5、去百度下载一个640x480像素的jpg格式图像,放到代码问价夹...
  • 在装完了OpenCV和CUDA之后很自然的事情就是先跑个程序库函数是否安装完毕。对于在Windows下习惯用Visual Studio的同志们来说,可能很多人还不知道可以不用IDE编程(至少我当年转Linux的时候就在想,用记事本写文件,...
1 2 3 4 5 ... 20
收藏数 1,222
精华内容 488