OpenCV
紫罗兰永世长存
你好吗?我很好。喜欢自己才会拥抱生活 盲目自大自尊,是骄傲无知的人生,一味自暴自弃,是消极悲观的人生。 了解自己比了解别人更困难,喜欢自己比喜欢别人更不容易。拥有健康的恰当的自尊心理,面对挫折会表现得格外坚强。不为外界的诱惑而丢失自我,不为一时的挫折否定自己。
展开
-
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 · 153 阅读 · 0 评论 -
OpenCV学习之绘制形状和文字
绘制形状和文字使用从cv::Point与cv::Scalar绘制线、矩形、圆、椭圆等基本几何形状随机生成与绘制文本使用cv::Point与cv::ScalarPoint表示2D平面上一个点x,yPoint p;p.x = 10;p.y = 8;orp = Point(10,8);Scalar表示四个元素的向量Scalar(a,b,c);//a = blue,b = green,c = red表示RGB三个通道绘制线、矩形、圆、椭圆等基本几何形状画线cv::lin原创 2020-12-24 21:36:06 · 95 阅读 · 1 评论 -
OpenCV学习之调整图像亮度和对比度
图像变换可以看作如下像素变换 - 点操作领域操作 -区域调整图像亮度和对比度属于像素变换 - 点操作g(i,j) = αf(i,j)+β 其中α > 0, β是增益变量g(i,j)输出像素点αf(i,j)输入像素点重要APIMat new_image = Mat::zeros(image.size(),image.type());创建一张跟原图像大小和类型一致的空白图像、像素值初始化为0saturate_cast(value)确保值大小范围为0~255之间Mat.at(x原创 2020-12-24 12:28:05 · 112 阅读 · 0 评论 -
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 · 89 阅读 · 0 评论 -
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 · 60 阅读 · 0 评论 -
OpenCV学习之Mat对象
Mat对象与IplImage对象Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分IplImage是从2001年OpenCV发布之后就一直存在,是C语言风格的数据结构,需要开发者自己分配与管理内存,对大的程序使用它容易导致内存泄漏问题Mat对象使用部分复制: 一般情况下只会复制Mat对象的头和指针部分,不会复制数据部分 > Mat A = imread(imgFilePath); Mat原创 2020-12-23 12:38:09 · 117 阅读 · 0 评论 -
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_castsaturate_cast(-100),返回0saturate_cast(28原创 2020-12-15 10:11:55 · 137 阅读 · 0 评论 -
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 · 118 阅读 · 0 评论 -
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 · 792 阅读 · 0 评论