zoukankan      html  css  js  c++  java
  • OpenCV图像处理中常用函数汇总(1)

     1 //俗话说:好记性不如烂笔头
     2 //用到opencv 中的函数时往往会一时记不起这个函数的具体参数怎么设置,故在此将常用函数做一汇总;
     3 
     4 Mat srcImage = imread("C:/Users/Administrator/Desktop/车牌识别/车牌图像库/1.jpg");//读入图像函数
     5 
     6 imshow("原图",srcImage);//显示图像函数
     7 
     8 imwrite("图3.jpg",imageRIO);//保存图像函数
     9 
    10 Mat imageRIO = srcImage(Rect(50,50,100,000));//感兴趣区域函数
    11 
    12 cvtColor(srcImage,dstImage,CV_BGR2GRAY);//图像灰度化
    13 
    14 
    15 //边缘检测 Sobel Laplacian Canny 其中Canny算子只能处理(8位)灰度图,其余两种8位32位都可以
    16 Mat grad_x,grad_y;
    17 Sobel(imgGray,grad_x,CV_8U,1,0,3,1,1);//X方向上的Sobel算子检测,其中3,1,0都是默认值
    18 
    19 Sobel(imgGray,grad_y,CV_8U,0,1,3,1,0);//Y方向上的Sobel算子检测,其中3,1,0都是默认值
    20 
    21 addWeighted(grad_x,0.5,grad_y,0.5,0,dstImage);//合并梯度
    22 
    23 Laplacian(imgGray,dstImage,CV_8U);
    24 
    25 Canny(imgGray,dstImage,50,200,3);//50和200表示第一个滞后性阈值和第二个滞后性阈值,较小者用于边缘连接,较大者控制强边缘的初始段,达阈值opnecv推荐为小阈值的3倍;
    26 //3表示应用的Sobel算子的孔径大小 有默认值为3;
    27 
    28 // 寻找轮廓 只处理8位 即灰度图像
    29 vector<vector<Point>> contours;
    30 findContours(imgGray,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
    31 drawContours(dstImage,contours,-1,Scalar(0),3);
    32 imshow("轮廓图",dstImage);
    33 
    34 
    35 //阈值化操作
    36 threshold(srcImage,dstImage,100,255,3);
    37 imshow("固定阈值化图像",dstImage);
    38 adaptiveThreshold(imgGray,dstImage,255,ADAPTIVE_THRESH_MEAN_C,THRESH_BINARY,3,1);
    39 imshow("自适应阈值化图像",dstImage);
    40 
    41 
    42 // resize函数实现
    43 resize(srcImage,dstImage,Size(),0.5,0.5);//缩小为一半
    44 resize(srcImage,dstImage,Size(),2,2);//放大2倍
    45 resize(srcImage,dstImage,Size(srcImage.cols*3,srcImage.rows*3));//放大3倍
    46 
    47 
    48 // 金字塔函数实现
    49 pyrUp(srcImage,dstImage,Size(srcImage.cols*2,srcImage.rows*2));// 放大2倍
    50 pyrDown(srcImage,dstImage,Size(srcImage.cols/2,srcImage.rows/2));// 缩小2倍
    51 
    52 //漫水填充算法
    53 Rect ccomp;
    54 floodFill(srcImage,Point(50,300),Scalar(155,255,55),&ccomp,Scalar(20,20,20),Scalar(20,20,20));
    55 
    56 //膨胀腐蚀
    57 Mat element = getStructuringElement(MORPH_RECT,Size(15,15));
    58 erode(srcImage,dstImage,element);//腐蚀函数
    59 dilate(srcImage,dstImage,element);//膨胀函数
    60 
    61 morphologyEx(g_bgrImage,g_bgrImage, MORPH_CLOSE, element);//闭运算
    62 
    63 morphologyEx(g_bgrImage,g_bgrImage, MORPH_OPEN, element);//开运算
    64 
    65 
    66 //滤波
    67 boxFilter(srcImage,dstImage,-1,Size(3,3));
    68 imshow("方框滤波图",dstImage);
    69 
    70 blur(srcImage,dstImage,Size(3,3));
    71 imshow("均值滤波图",dstImage);
    72 
    73 GaussianBlur(srcImage,dstImage,Size(5,7),1,1);
    74 imshow("高斯滤波图",dstImage);
    75 
    76 medianBlur(image,out,7);//中值滤波,7为孔径的线性尺寸
    77 bilateralFilter(src,dst,d,sigmaColor,sigmaSpace);//双边滤波,d表示过滤过程中每个像素邻域的直径,sigmaColor颜色空间滤波器的sigma值,sigmaSpace表示坐标空间中滤波器的sigma值
    78 bilateralFilter(image,out,25,25*2,25/2);
    79 
    80 //《未完待续》
    81  
  • 相关阅读:
    多测师讲解html _伪类选择器17_高级讲师肖sir
    多测师讲解html _后代选择器16_高级讲师肖sir
    多测师讲解html _组合选择器_高级讲师肖sir
    多测师讲解html _标签选择器14_高级讲师肖sir
    前端 HTML form表单标签 input标签 type属性 重置按钮 reset
    前端 HTML form表单标签 textarea标签 多行文本
    前端 HTML form表单标签 input标签 type属性 file 上传文件
    前端 HTML form表单标签 input标签 type属性 radio 单选框
    前端 HTML form表单标签 input标签 type属性 checkbox 多选框
    前端 HTML form表单目录
  • 原文地址:https://www.cnblogs.com/ggYYa/p/5687046.html
Copyright © 2011-2022 走看看