opencv
文章平均质量分 53
UESTC_C2_403
如果大家对博客内容有什么建议或者问题,可以在博客下面留言哦,谢谢大家!
展开
-
opencv中的线性变换
代码如下:#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/opencv.hpp"#include "opencv2/core/core.hpp"#include using namespace std;using namespace cv;/原创 2017-05-30 23:00:47 · 2029 阅读 · 0 评论 -
OTSU阈值化
在阈值处理中,常用的算法就是OTSU,OTSU是在1979年提出的一种寻找图像阈值的最大类间方差算法。步骤如下:1.统计灰度及中每个像素在整幅图中的个数2.计算每个像素在整幅图像中的概率分布3.对灰度级进行遍历搜索,计算当前灰度下前景背景类间概率4.通过目标函数计算出类内与类间方差下对应的阈值代码如下:#include "opencv原创 2017-06-02 23:23:21 · 847 阅读 · 0 评论 -
opencv图像颜色空间转换
opencv常用的样色空间包括RGB, HSV和YUV等。RGB颜色空间是基于三基色原理二形成的,常用于图像显示系统中;HSV描述的色度,饱和度,亮度这些表示颜色得方法,常用于描述色彩变化;YUV是通过亮度和色度来描述颜色,色度由UV通道组合而成。opencv提供cvtColor(inputArray src, outputArray dst, int code, int dstCn = 0)原创 2017-06-02 23:23:55 · 4877 阅读 · 0 评论 -
数据预处理
1.数据质量涉及许多因素,包括准确性,完整性,一致性,时效性,可信性和可解释性2.数据预处理的主要任务,及数据清理,数据集成,数据规约和数据变换数据清理:通过填写确实数据,光滑噪声数据,识别或者删除离群点,并解决不一致性来清理数据3.数据规约:在维规约中,例如使用PCA,小波变换等,以及属性子集选择和和属性够造。在数值规约中,使用参数模型或者非参数模型,用较小的表示取代数据原创 2017-06-02 23:24:39 · 869 阅读 · 0 评论 -
opencv实现图形旋转
图像旋转是指图像按照某个位置转动一定的角度的过程,旋转中图像扔保持着原始尺寸。图像旋转后的图像水平对称轴、垂直对称轴及中心坐标原点可能都会发生变换,因此需要对图像旋转中的坐标进行相应的转换。#include #include #include #include #include using namespace std;cv::Mat angleRotatee原创 2017-06-02 23:25:39 · 881 阅读 · 0 评论 -
opencv实现图像的缩放
图像的缩放是指将图像的尺寸变小或者变大的过程,也就是减少或者增加原图像数据的像素个数。图像缩放会在一定程度上面丢失图像的信息,因此需要考虑适宜的方法进行操作。如果数字图像中像素坐标为非负整数,图像缩放过程很可能回事的某些坐标为浮点数,因此需要用到图像插值方法、1.基于等间隔提取图像缩放等间隔图像缩放时通过对源图像进行均匀采样来完成的。对于源图像数据f(x,y),其分辨率为M*N,如原创 2017-06-02 23:26:09 · 2881 阅读 · 1 评论 -
opencv实现图像平移
图像的平移操作是将图像的所有像素坐标进行水平或者垂直方向移动,也就是所有像素点按照给定的偏移量在水平方向上沿x轴、垂直方向上沿y轴移动。平移变换分为两种,图像大小变化和图形大小不变。第一种是保证图像平移的完整性,第二种图像原信息可能部分丢失。#include #include #include #include //平移操作,图像大小不变cv::Mat imageT原创 2017-06-02 23:26:43 · 2392 阅读 · 3 评论 -
图像的几何变换之坐标映射
图像的几何变换是指在不改变图像像素值得前提下,对图像进行空间几何变换,常见的几何变换有距离变换,坐标映射、平移、镜像、旋转、缩放、放射变换等。图像的几何处理是图形处理和分析的基础,应用广泛,如字符矫正、车牌区域水平与垂直矫正及图像特征分析识别等。坐标映射图像的坐标映射是通过原图像与目标图像之间建立一种映射关系,这种映射关系有两种:一种就是计算原图像任意像素在映射后图像的坐标位置;二原创 2017-06-02 23:27:17 · 6348 阅读 · 2 评论 -
opencv实现图像的灰度转换,均值滤波,实现图像的显示和存储
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include int main(){ //读取图像,采用绝对路径 cv::Mat srcImage = cv::imread("C:\\Users\\LP\\Desktop\\C++\\Console原创 2017-06-02 23:27:47 · 1817 阅读 · 0 评论 -
C++中的函数参数
1.函数可包含多个参数,只要将它们用逗号分开就可以,调用函数时,还可以不提供任何参数。传递给函数的参数类型不必相同2.任何合法的C++表达式都可作为参数传递函数,包括常量、数学和逻辑表达式以及返回值的其他函数3.传递给函数的参数将成为改函数的局部变量,即使在调用函数的语句所属的作用域内所有同名变量例子:#include /* run this program using the con原创 2017-06-02 23:32:41 · 826 阅读 · 0 评论 -
C++重载的概念
重载1.同一个标示符在不同的上下文有不同的意义。比如:洗衣服和洗脸是不同的,或者有不同的含义。函数重载1.用同一个函数名定义不同的函数2.当函数名和不同的参数搭配时函数的含义是不同的例子:#include #include /* run this program using the console pauser or add原创 2017-06-03 00:11:16 · 1495 阅读 · 0 评论 -
opencv实现canny边缘提取
opencv中提供了canny函数来计算图像边缘,详细介绍如下:void Canny(InputArray image, OutputArry edges, double threshold1, doublethreshold2, int apertureSize=3, bool L2gradient=false)函数解析:Image为输入图像,单通道为8bit;edges原创 2017-06-03 07:56:24 · 1434 阅读 · 0 评论 -
opencv实现sobel边缘检测
void sobel(InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize=3, double scaler - 1, double delta=0, int borederType = BORDER_DEFAULF)函数解析:ddepth输出图像的深度,dx是x方向的导数,dy是y方向的导原创 2017-06-03 07:57:01 · 1595 阅读 · 0 评论 -
opencv固定化阈值
opencv提供了固定化函数threshold,该函数有5中阈值化类型参数可以选择。double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)函数解析:实现图像阈值化操作。参数src表示源图像数组(单通道,8为或者32位浮点数);参数dst表示输出图像组(与输入图像相原创 2017-05-30 23:12:40 · 751 阅读 · 0 评论 -
opencv自适应阈值
在图像阈值化操作中,我们更关心的是从二值化图像中分离目标区域背景区域,仅仅通过设定固定阈值很难达到理想的分割效果。在实践应用中,目标及背景区域通常相互依存在图像块中,我们可以通过图像像素领域快的分布特征来自适应确定阈值的二值化阈值。对于图像块中亮度变化明显的区域,自适应阈值通常会设置的比较大或者比较小,进而保证图像中各个像素的阈值会随着周围领域的变化而变化。opencv中提供了自适应阈值化原创 2017-05-30 23:11:53 · 2452 阅读 · 1 评论 -
opencv计算图像距离变换
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/opencv.hpp"#include "opencv2/core/core.hpp"#include using namespace std;using namespace cv;int main原创 2017-05-30 23:02:34 · 3678 阅读 · 0 评论 -
直方图的反向投影
直方图反向投影是利用直方图模型计算给定图像像素点的特征。反向投影在某一位置的值是源图像在对应位置的像素值的累计。反向投影操作课实现检测输入源图像给定图像块最匹配区域,一般可用于基于图像内容检索或者查找特定的内容。对于原始图像,计算相应的灰度直方图,可利用直方图变换bin来计算相应的反响投影。bin越大,反向投影显示的结果就越大。opencv提供了一个简单计算hue通道的直方图反响投原创 2017-05-30 23:03:15 · 573 阅读 · 0 评论 -
直方图匹配
直方图匹配又称为直方图规定化。在实际场景中,我们常常需要增强某一特定区间的图像信息,因此可以按照给定的直方图形状来调整原先的图像的直方图信息。直方图匹配综合了直方图变换和均衡化的原理思想,通过建立映射变换关系,使期望图像的直方图达到一种特定状态。对源图像直方图均衡化,目标直方图均衡化。匹配步骤如下:1.分别计算源图像与目标图像的累计概率分布2.分布对源图像与目标图像进行直方原创 2017-05-30 23:03:44 · 575 阅读 · 0 评论 -
直方图变换-----累计
直方图变换累计的方法:1.将源图像转化为灰度图,计算图像的灰度直方图2.建立映射表,对直方图进行像素累计3.根据映射表进行元素映射得到最终的直方图变换代码如下:#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/open原创 2017-05-30 23:04:25 · 1796 阅读 · 0 评论 -
直方图变换----查找
直方图变换时通过改变和调整图像的直方图形状来实现改变图像灰度阶分部与结构的增强方法。图像直方图翻译图像对比度‘明暗等细节特征,如果直方图集中在某一区间,画面呈现出来彩色的单一,不利于观察分析。常用的直方图变换时通过灰度变换s = T(r) = 255*(r-a)/(b-a),将【a,b】映射到【0,255】实现的,另外根据直方图均衡原理,为尽可能是像素点分布均匀,可以通过累计平均分配的方式计算原创 2017-05-30 23:05:34 · 582 阅读 · 0 评论 -
彩色直方图均衡
彩色直方图均衡化实现可均衡各个通道动态范围内的所有阶特征以每个通道下累计分布函数变换为基础,实现RGB颜色空间下的图像细节增强。彩色直方图均衡步骤只需要讲RGB颜色空间分类成单个通道,软后在每个通道上面进行相应的直方图均衡,最后将每个通道直方图均衡化结果进行合并。彩色直方图均衡常用语图像增强,自动白平衡及伪彩色图像处理等领域。代码如下:#include "opencv2/highg原创 2017-05-30 23:06:33 · 1069 阅读 · 0 评论 -
灰度直方图均衡
通常我们很难观察一副非常亮或者暗的图像的细节信息,因此对于差异较大的图像,我们可以尝试改变其图像灰度分布来使图像灰度阶分布尽量均匀,进而增强图像细节信息。直方图均衡是通过拉伸各个像素分布来实现图像增强的,以累计分布函数变换为基础,通过特定映射来扩展像素的取值动态范围。均衡化的思想是吧一个给定的直方图按照特定的映射转换成一种更宽,更统一的分布,其核心是吧集中灰度分布映射成灰度均匀分布。直方图原创 2017-05-30 23:07:33 · 576 阅读 · 0 评论 -
自定义直方图,opencv
在实际应用场景中,我们可以根据需求调整计算的直方图区间,针对灰度直方图而言,我们可以将区间【0,255】分成以下几个区间:【0,60】,【61,120】,【121,160】,【161,220】,【221,255】。然后分别统计各个区间的灰度分布,进一步实现自定义直方图。代码如下:#include "opencv2/highgui/highgui.hpp"#include "ope原创 2017-05-30 23:08:24 · 487 阅读 · 0 评论 -
BGR直方图。opencv
在opencv中,彩色图像存储是通过多通道的数组来实现的,对于CV_8UF3而言,其每个数组通道中的元素可取值为0到255.。因此对彩色图像求其直方图,可先提取彩色图像的各个通道,然后对每个通道进行直方图计算,最后利用图像融合技术合并通道信息,求解出图像颜色分布直方图。颜色分布直方图描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置。原创 2017-05-30 23:09:02 · 623 阅读 · 0 评论 -
H-S直方图,opencv
为了刻画图像中颜色的直观特性,常常需要分析图像的HSV空间下的直方图特性。HSV空间是由色调、饱和度、以及亮度构成,因此在进行直方图计算时,需要先将源RGB图像转化为HSV颜色空间图像,然后将对应的H和S通道进行单元划分,再其二维空间上计算相对应直方图,再次在通过计算直方图空间上的最大值,归一化绘制相应的直方图信息。色相饱和度直方图通常应用在目标检测、特征分析以及目标特征跟踪等场景。代码如原创 2017-05-30 23:09:38 · 3094 阅读 · 0 评论 -
直方图处理
图像直方图包含丰富的图像细节信息,反映了图像像素点的概率分布情况,广泛应用于空间预处理、特征描述及特征匹配等领域。图像是由像素点构成的,灰度直方图用来描述图像中各个灰度级的像素个数(或者该灰度级像素出现的频率),灰度直方图的横坐标表示灰度级,纵坐标表示图像中该灰度级出现的次数(频率)。opencv提供了一个简单计算数组集(通常是图像或分割后的通道)的直方图函数calcHist,下面原创 2017-05-30 23:10:18 · 723 阅读 · 0 评论 -
opencv双阈值化
对于图像中有明显的双分界特征,我们考虑用双阈值方法进行二值化操作。根据双阈值操作方法,对于8位灰度图应用该阈值化方法操作时,预先设定好特定的阈值量thresh1,thresh2,并且thresh代码如下:#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "原创 2017-05-30 23:11:11 · 3489 阅读 · 1 评论 -
opencv图像污点修复
数字修复可用来解决图形中小区域污染一重构图像,近年来被广泛应用再去出文本和Logo图标等场景中,利用重构去除图像中的画横和污点。常用于修复图像的算法是基于快速进行的修复算法,FMM。论文的名字是An Image Inpainting Technique Based on the Fast March Method.其原理思想是先修复待修复区域边缘上的点,软后扩大区域进行遍历,知道修复完所有待修原创 2017-06-03 07:57:25 · 4036 阅读 · 0 评论