使用OpenCV3处理图像

不同色彩空间的转换

当前,在计算机视觉中有三种常用的色彩空间:灰度、BGR、以及HSV(Hue,Saturation,Value)

  1. 灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理特别有效,比如人脸检测。
  2. BGR,即蓝绿红色彩空间,每一个像素点都有一个三元数组来表示,分别代表蓝绿红三种颜色。与RGB只是在颜色的顺序上不同。
  3. HSV,即色调、饱和度、亮度。

绘画遵从减色模型,而运行在计算机上的软件所使用的色彩模型是加色模型。

傅立叶变换

  人们所看到的波形都是由其他波形叠加得到的。这个概念对操作图像非常有帮助,因为这样我们可以区分图像里哪些区域的信号(比如图像像素)变化特别强,哪些区域的信号变化不是那么强,从而可以任意地标记噪声区域、感兴趣区域、前景和背景等。原始图像由许多频率组成,人们能够分离这些频率来理解图像和提取感兴趣的数据。

  在OpenCV中有许多算法能够实现变换,在NumPy中也有实现,并且更容易使用,里面有FFT的包,包含fft2()函数,该函数可以计算衣服图像的离散傅立叶变换(DFT)

  幅度谱图像:把衣服图像中最明亮的像素放到图像中央,然后逐渐变暗,在边缘上的像素最暗,这样可以发现图像中有多少亮的像素和暗的像素,以及它们分布的百分比。

1  高通滤波器

  高通滤波器(HPF)是检测图像的某个区域,然后根据像素与周围像素的亮度差值来提升该像素的亮度的滤波器。

  以如下的核(滤波器矩阵)为例:

[[0,-0.25,0]
 [-0.25,1,-0.25]
 [0,-0.25,0]]

核是指一组权重的集合,它会应用在源图像的一个区域,并由此生成目标图像的一个像素。比如,大小为7的核意味着每49(7x7)个源图像的像素会产生目标图像的一个像素。可以把核看作一块覆盖在原图像上可移动的毛玻璃片,玻璃片覆盖区域的光线会按某种方式进行扩散混合后透过去。

时间: 2024-10-25 22:07:29

使用OpenCV3处理图像的相关文章

python opencv3 向图像里写字

git:https://github.com/linyi0604/Computer-Vision 1 # coding:utf-8 2 3 import cv2 4 5 img = cv2.imread("../data/mm1.jpg", cv2.IMREAD_GRAYSCALE) 6 7 img = cv2.putText(img, "hello world!", (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255,

第三章:用opencv3处理图像

1.高通滤波器:高通滤波器会根据像素与周边像素的亮度差值来提升该像素的亮度的滤波器.   低通滤波器:在像素与周围像素的亮度差小于一个特定值时,平滑该像素的亮度.   canny算子:5个步骤:使用高斯滤波器对图像进行去噪.计算梯度.在边缘上使用非最大抑制(NMS).在检测到的边缘上使用双阈值去除假阳性(false positive),最后还会分析所有的边缘及其之间的连接,以保留真正的边缘并消除不明显的边缘. import cv2 import numpy as np import os img

VS2017+opencv3.3 图像校正遇到两个问题

在修改代码的时候发现的错误,相机阵列 1:error C2664 解决方式:"属性→配置属性→常规→项目默认值→字符集",默认的选项是"使用多字节字符集",将它改为"使用Unicode字符集"即可. 2:Link2019 和 link1120(DSX相机阵列 合图) 解决方式:项目属性----附加依赖项:Shlwapi.lib 原文地址:https://www.cnblogs.com/augustosm/p/9159454.html

OpenCV3计算机视觉+python(三)

使用OpenCV3处理图像 下面要介绍的内容都与图像处理有关,这时需要修改图像,比如要使用具有艺术性的滤镜.外插(extrapolate)某些部分.分割.粘贴或其他需要的操作. 不同色彩空间的转换 OpenCV中有数百种关于在不同色彩空间之间转换的方法.当前,在计算机视觉中有三种常用的色彩空间:灰度.BGR以及HSV(Hue,Saturation,Value) 1.灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理特别有效,比如人脸检测. 2.BGR,即蓝-绿-红色彩空间,每

TX1使用OpenCV3.1实时采集视频图像

转载请注明作者和出处: http://blog.csdn.net/c406495762 嵌入式平台(Target): Jeston TX1 OpenCV: OpenCV3.1 摄像头: USB 800W摄像头 前言 下载OpenCV3 安装依赖库 编译并安装OpenCV3 运行hog例程 1 编译并运行例程 2 运行结果 编写简单的摄像头采集程序 1 代码如下 2 运行结果 可能遇到的问题 1 前言 Jetpack3.0安装的OpenCV是OpenCV2.4.13,OpenCV2.4.13对于U

使用QT5绘制OpenCV3的Mat图像

QT在跨平台编程中应用越来越广泛,C++中用跨平台开发界面(包括嵌入式设备),QT基本成为第一选择,OpenCV从3.0开始已经慢慢抛弃了过去的C接口,统一改为C++接口,存储图像的IplImage也在被Mat替代,本文主要讲如何使用QT绘制Mat. 在QT中用QImage存放图像,QImage有多种使用方法,本文讲解QImage的内存分配和将Mat高效复制到QImage中. 一 首先初始化QImage空间 int pixSize = 3; //像素大小 RGB888就是三个字节 uchar *

OpenCV3.0+MFC+VS2010打开图像

最近刚开始学OpenCV3.0结合MFC进行图像处理,做了一个非常简单的OpenCV3.0在VS2010中建立一个MFC程序打开图片的小程序,具体过程如下. [1]首先按照链接中的步骤 http://blog.csdn.net/poem_qianmo/article/details/19809337,在VS2010中配置好OpenCV3.0. [2]打开VS2010,新建一个MFC程序,如下图所示: [3]点击下一步: [4]选择设置如下: [5]点击"完成",显示如下界面: [6]在

[转]opencv3 图像处理 之 图像缩放( python与c++实现 )

转自:https://www.cnblogs.com/dyufei/p/8205121.html 一. 主要函数介绍 1) 图像大小变换 cvResize () 原型: voidcvResize(const CvArr* src,CvArr* dst,intinterpolation=CV_INTER_LINEAR ); 说明: src 表示输入图像.dst表示输出图像.intinterpolation插值方法,有以下四种: CV_INTER_NN - 最近邻插值,CV_INTER_LINEAR

OpenCV3入门(六)图像滤波

1.图像滤波理论 1.1图像滤波理论 图像滤波即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作.消除图像中的噪声又叫做图像滤波或平滑,滤波的目的有两个,一是突出特征以方便处理,二是抑制噪声. 空间域滤波就是在图像平面上对像素进行操作.空间域滤波大体分为两类:平滑.锐化. 平滑滤波:模糊处理,用于减小噪声,实际上是低通滤波,典型的滤波器是高斯滤波. 锐化滤波:提取边缘突出边缘及细节.弥补平滑滤波造成的边缘模糊.实际上是高通滤波. 空间域处理可由下式表示: g(