OpenCV
文章平均质量分 92
忘·月
这个作者很懒,什么都没留下…
展开
-
OpenCV 读取像素值的常用方法
OpenCV常用读取像素方法及读取速度对比法一 指针法(效率最高)void main(){ //灰度图 Mat src = imread("src.jpg", 0); //图像行、列 int row = src.rows, col = src.cols; for (int i = 0; i < row; i++) { //读取整行数据 uchar* ptr = sr...原创 2020-02-05 12:07:33 · 832 阅读 · 0 评论 -
并行处理加速图像/事务处理
并行处理加速图像/事务处理1.计算机环境: Windows10 VS20172.OpenMP编程方式 openMP非常容易上手,能够支持C、C++、Fortran语言,支持OpenMP的编译器有:Sun Studio,Intel Compiler,Microsoft Visual Studio,GCC,我是在VS2017工程下进行使用的。 配置方式:在项目上右键->属性->...原创 2020-02-04 16:02:28 · 423 阅读 · 0 评论 -
OpenCV 图像切分与图像合并
将一张图片切分成多个小图片并将小图片合并为原图前言 最近用到一个功能,需要将一张原图切分成多个小图像,然后对小图像进行处理,处理之后再将其整合成一张大图像。达到对原图进行处理的目的,这样做的好处是将一个大任务划分为多个小任务,分别进行处理以节约时间(当然需要多线程进行协助,效果才会更明显)。 下面,就以2个模块进行介绍,分别为①图像切分 ②图像合并。/*图像切分(我是按列进行切分的,...原创 2020-01-30 10:38:02 · 3094 阅读 · 2 评论 -
OpenCV 形态学腐蚀
1、基本概念腐蚀与膨胀是一对相反的操作,所以腐蚀就是求全局最小值的操作。腐蚀(erode)是求局部最小值的操作。从数学角度讲,膨胀或腐蚀操作就是将图像(或图像的一部分区域,称之为A)与核(称之为B)进行卷积。核B与图形卷积,即计算核B覆盖的区域的像素点的最小值,并把这个最小值赋值给参考点指定的像素。这样就会使图像中的高亮区域逐渐减小,如图所示,这就是膨胀操作的初衷。核可以是任何形状和大小,它...原创 2020-01-16 20:04:28 · 2629 阅读 · 0 评论 -
OpenCV 形态学膨胀
1、基本概念膨胀(dilate)是求局部最大值的操作。从数学角度讲,膨胀或腐蚀操作就是将图像(或图像的一部分区域,称之为A)与核(称之为B)进行卷积。核可以是任何形状和大小,它拥有一个单独定义出来的参考点,我们称其为锚点(anchorpoint)。多数情况下,核是一个小的,中间带有参考点和实心正方形或者圆盘。其实可以将核看作模板或者掩码。膨胀操作就是求局部最大值的操作。核B与图形卷积,即计算...原创 2020-01-16 19:41:59 · 925 阅读 · 0 评论 -
OpenCV 中值滤波(非线性滤波)
1、非线性滤波多数情况下,使用邻域像素的非线性滤波会得到相当好的效果。比如在噪声是散粒噪声而不是高斯噪声,即图像偶尔会出现很大值的时候,用高斯滤波器对图像进行模糊的话,噪声像素是不会被去除的,它们只是被转换为更柔和但仍然是可见的散粒。2、中值滤波基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,此方法在去除脉冲噪声、椒盐噪声的同时又能保留图像的边缘细节。基本原理是把数字图像或数字序...原创 2020-01-16 10:02:38 · 720 阅读 · 0 评论 -
VS2017 OpenCV3.2.0 dll生成与应用
一、新建动态链接库命名:myDll设置路径二、在头文件新建文件①头文件->添加->新建项②在新建项中写如下代码//__declspec(dllexport)是固定格式//后面跟函数的声明__declspec(dllexport) void encry_1channels(Mat src, Mat& dest, double& U, double&am...原创 2019-12-30 21:52:32 · 486 阅读 · 1 评论 -
OpenCV 图像感兴趣区域:ROI
在图像处理是,我们常常需要设置感兴趣区域(ROI,region of interest),来简化工作过程。即从图像中选择一个图像区域,这个区域是图像分析所关注的重点。 定义ROI区域由两种方法:第一种是使用表示矩形区域的Rect。它指定矩形的左上角和矩形的长、宽,以定义一个矩形区域。 其中,image为已经载入好的图片 //定义一个Mat类型并给其设定ROI区域 Mat imageROI...原创 2019-12-31 09:50:32 · 693 阅读 · 1 评论 -
OpenCV 高斯滤波
1.高斯滤波的理论简析高斯滤波是一种线性平滑滤波,可以消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或成为卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度去替代模板中心像素点的值。高斯模糊技术生成的图像,其视觉效果就像是经过一个半...原创 2020-01-16 08:52:44 · 725 阅读 · 0 评论 -
OpenCV 动态调整图像对比度、亮度
OpenCV 动态调整图像对比度、亮度//全局变量声明static void on_ContrasAndBright(int, void*);int g_nContrastValue; //对比度值int g_nBrightValue; //亮度值Mat g_srcImage, g_dstImage;void Test(){ //读取输入图像 g_srcImage = im...原创 2020-01-10 10:05:12 · 841 阅读 · 0 评论 -
显式创建Mat的方法
显式创建Mat的方法1、使用Mat()构造函数void matCreate(){ int row = 5, col = 5; Mat M(row, col, CV_8UC3, Scalar(0, 0, 255)); cout << "M=" << endl << M << endl;}M=[ 0, 0, 255, 0, ...原创 2020-01-09 20:31:37 · 191 阅读 · 0 评论