自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 OpenCV学习之模糊图像

模糊原理 smooth/Blur是图像处理中最简单和常用的操作之一 使用该操作的原因之一就为了给图像预处理时候减低噪声 使用Smooth/Blur操作其背后是数学的"卷积计算" 通常这些卷积算子计算都是线性操作,所以又叫线性滤波 均值滤波和高斯滤波演示 #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main( int argc,char*

2020-12-26 09:21:29 188

原创 OpenCV学习之绘制形状和文字

绘制形状和文字 使用从cv::Point与cv::Scalar 绘制线、矩形、圆、椭圆等基本几何形状 随机生成与绘制文本 使用cv::Point与cv::Scalar Point表示2D平面上一个点x,y Point p; p.x = 10; p.y = 8; or p = Point(10,8); Scalar表示四个元素的向量 Scalar(a,b,c);//a = blue,b = green,c = red表示RGB三个通道 绘制线、矩形、圆、椭圆等基本几何形状 画线cv::lin

2020-12-24 21:36:06 136 1

原创 OpenCV学习之调整图像亮度和对比度

图像变换可以看作如下 像素变换 - 点操作 领域操作 -区域 调整图像亮度和对比度属于像素变换 - 点操作 g(i,j) = αf(i,j)+β 其中α > 0, β是增益变量 g(i,j)输出像素点 αf(i,j)输入像素点 重要API Mat new_image = Mat::zeros(image.size(),image.type());创建一张跟原图像大小和类型一致的空白图像、像素值初始化为0 saturate_cast(value)确保值大小范围为0~255之间 Mat.at(x

2020-12-24 12:28:05 146

原创 OpenCV学习之图像混合

线性混合操作 功能说明:addWeighted()函数是将两张相同大小,相同类型的图片融合的函数。他可以实现图片的特效 相关API(addWeighted) 参数1: 输入图像Mat - src1 参数2: 输入图像src1的alpha值 参数3: 输入图像Mat - src2 参数4: 输入图像src2的alpha值 参数5: gamma值 参数6:输出混合图像 注意:两张图像的大小和类型必须一致才可以 代码演示 #include<opencv2/opencv.hpp&g

2020-12-24 09:54:49 140

原创 OpenCV学习之图像操作

读写图像 imread(); namedWindow(); imshow(); moveWinodw(); 读写像素 读一个GRAY像素点的像素值(CV_8UC1)Scalar intensity = img.at(x,y);或者者Scalar intensity = img.at(Point(x,y)); 读一个RGB像素点的像素值 Vec3f intensity = img.at(y,x); float blue = intensity.val[0]; float green = intens

2020-12-23 16:32:26 94

原创 OpenCV学习之Mat对象

Mat对象与IplImage对象 Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分 IplImage是从2001年OpenCV发布之后就一直存在,是C语言风格的数据结构,需要开发者自己分配与管理内存,对大的程序使用它容易导致内存泄漏问题 Mat对象使用 部分复制: 一般情况下只会复制Mat对象的头和指针部分,不会复制数据部分 > Mat A = imread(imgFilePath); Mat

2020-12-23 12:38:09 163

原创 OpenCV学习之矩阵的掩膜操作

获取图像像素指针 CV_Assert(myimage.depth() == CV_8U) Mat.ptr(int i = 0) 获取像素矩阵的指针,索引i表示第几行,从0开始计数 获得当前行指针const uchar* current = myimage.ptr(row); 获取当前像素点P(row,col)的像素值p(row,col) = currenr[col] 像素范围处理saturate_cast saturate_cast(-100),返回0 saturate_cast(28

2020-12-15 10:11:55 179

原创 OpenCV学习之加载修改保存图像

加载图像(cv::imread) imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值 IMREAD_UNCHANGED(<0)表示加载原图,不做任何改变 IMREAD-GRAYSCALE(0)表示把原图作为RGB图像加载进来 IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来 OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载 显示图像(cv::namedW

2020-12-12 09:41:51 153

原创 OpenCV在VS2019中的环境搭建

文章目录1、下载opencv:官网下载地址https://opencv.org/2、计算机环境变量配置3、VS目录包含 1、下载opencv:官网下载地址https://opencv.org/ 首先到opencv官网下载win平台的opencv,解压后可以看到两个文件夹——build和sources,build是官方已经编译号的可以直接使用,而sources是opencv的源码 2、计算机环境变量配置 配置方法如下: 【计算机】->【右键属性】->【高级系统设置】->【高级】->【

2020-12-12 09:07:55 843

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除