OpenCV与数字图像处理

  用手机的摄像头做一些实时的图像处理,车牌号识别的话不需要特别多种类的图像处理
  OpenCL(Open Computing Language):开放计算语言,可以附加在主机处理器的CPU或GPU上执行。
  OpenCV库包括了对OpenCL和CUDA GPU架构的支持。OpenCV有一个新的统一数据结构UMat,用于在必要和可能的时候,负责将数据传输到GPU。

OpenCv--图像模糊处理(均值,高斯,中值,双边)- https://blog.csdn.net/qq_39861376/article/details/82109127
图像处理常用算法(C++/OPENCV)- https://blog.csdn.net/thecentry/article/details/80698872
OpenCV demo使用- https://github.com/muyishuangfeng/OpenCV
图像平滑处理- http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.html#median-filter
  平滑 也称 模糊, 是一项简单且使用频率很高的图像处理方法。平滑处理时需要用到一个 滤波器 。 最常用的滤波器是 线性 滤波器,线性滤波处理的输出像素值 (i.e. g(i,j)) 是输入像素值 (i.e. f(i+k,j+l))的加权和。 归一化块滤波器 (Normalized Box Filter) blur,高斯滤波器 (Gaussian Filter) GaussianBlur,中值滤波器 (Median Filter) medianBlur,双边滤波 (Bilateral Filter) bilateralFilter。
  模糊操作时图像处理中最简单和常用的操作之一,该使用的操作之一原因就为了给图像预处理时减低噪声。
  高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,滤波高斯就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。
  高斯滤波的具体操作是:用一个模板(或称卷积,掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

  OpenCV-跟我一起学数字图像处理之拉普拉斯算子, OpenCV,数字图像处理之拉普拉斯算子。Laplace算子是二阶导数操作,其在强调图像素中灰度不连续的部分的同时也不在强调灰度值连续的部分。 Laplace算子和Sobel算子一样,属于空间锐化滤波操作。
  OpenCV实现图像的灰度化->二值化->Canny边缘检测以及对比度(Contrast)和亮度(Brightness)值调整
  图像灰度化:简单的来说就是使R,G,B value在阈值[0,255]间取得相同的值,总共有256个等级,黑白两种颜色其实可以看成是灰度化处于两个极端时的情形,中间254个等级分别代表灰度化的程度(浅深)。
  图像二值化:简单的来说就是将图像上的像素点的灰度值设置为(0,0,0)(黑色)或(255,255,255)(白色),使图像只呈现出明显的黑白效果。
  Canny算子:其目的是找到一个最优的边缘检测算法,使其满足三个主要的标准:
                 1.低错误率:标识出尽可能多的边缘,同时尽量减少噪声产生的影响;
                 2.高定位:标识出的边缘应与图像的实际边缘尽可能接近;
                 3.最小响应:图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。
  Canny边缘检测步骤:滤波->计算梯度幅值和方向->非极大值抑制(排除非边缘像素,保留候选边缘)
  亮度和对比度调整:首先应了解点操作(点算子)这个概念:根据输入像素值(有时可加上某些全局信息或参数),来计算输出像素的值。这类算子包括亮度和对比度调整,颜色校正(colorcorrection)和变换(transformations)。两种最常用的点操作满足下式:
 g(i,j)=a*f(i,j)+b ,(a控制对比度,b控制亮度,f(i,j)为源图像像素,g(i,j)为输出图像像素)   

  图像由数组构成,黑白图像就是一个单通道的二维矩阵,如同一个的棋盘(矩阵),棋盘中每个点的数字大小代表着图像像素灰度的高低,通过像素的差异形成素描般的黑白图像;而彩色图像则是由三个通道组合而成的一个三维矩阵。彩色图像可以通过b,g,r=cv2.split(image)实现分离,或者通过数组切分实现通道分离b,g,r=image[:,:,0],image[:,:,1],image[:,:,2];对三个通道的图像合成彩色图像可以调用cv2.merge([b,g,r])实现通道合并。
  数字图像处理的本质就是操作灰度矩阵。 数字图像处理是指借助于数字计算机来处理数字图像。注意,数字图像是由有限数量的元素组成,每个元素都有一个特定的位置和幅值。
  图像的几何变换,完成一章图像的几何变换需要两个独立的算法,首先,需要有一个实现空间坐标变换,用它描述每个像素如何从初始位置移动到终止位置;其次,还需要一个插值算法完成输出图像的每个像素的灰度值。

猜你喜欢

转载自blog.csdn.net/ShareUs/article/details/90412792