OpenCV4.0学习笔记
1.读取显示图像
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int artc, char** argv)
{
//Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg");
Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg", IMREAD_GRAYSCALE);
if (src.empty())
{
printf("could not load image...\n");
return -;
}
namedWindow("input", WINDOW_NORMAL);
imshow("input", src);
waitKey();
return ;
}
imread imshow
2.彩色图像与灰度图像转换 图像保存
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int artc, char** argv)
{
Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg"); //彩色图像
if (src.empty())
{
printf("could not load image...\n");
return -;
}
namedWindow("input", WINDOW_NORMAL);
imshow("input", src);
waitKey();
Mat gray;
cvtColor(src,gray,COLOR_BGR2GRAY);
imshow("input",gray);
imwrite("D:/学习与突破/OpenCV/C++与OpenCV/write002.jpg", gray);
waitKey();
return ;
}
BGR2Gray imwrite
3.Mat对象
Mat对象在C++内存中分头部和数据部分,头部信息包括:图像长高、图像通道数、类型等,数据部分是每一个像素点处的灰度值信息。
Mat对象的克隆和复制会生成一个全新的内存对象,Mat对象的赋值不会生成新的内存对象,赋值前后的两个指向同一个内存。

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int artc, char** argv)
{
Mat src = imread("D:/学习与突破/OpenCV/C++与OpenCV/002.jpg", IMREAD_GRAYSCALE);
//克隆
Mat m1 = src.clone();
//复制
Mat m2;
src.copyTo(m2);
//赋值
Mat m3 = src; //创建空白图像
Mat m4 = Mat::zeros(src.size(),src.type());
Mat m5 = Mat::zeros(Size(,),CV_8UC3);
Mat m6 = Mat::ones(Size(, ), CV_8UC3); Mat kernel = (Mat_<char>(, ) << , -, , , , , , -, );
}
Mat克隆 复制 赋值
4
OpenCV4.0学习笔记的更多相关文章
- DirectX 总结和DirectX 9.0 学习笔记
转自:http://www.cnblogs.com/graphics/archive/2009/11/25/1583682.html DirectX 总结 DDS DirectXDraw Surfac ...
- 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...
- vue2.0学习笔记之路由(二)路由嵌套+动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue2.0学习笔记之路由(二)路由嵌套
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- hdcms v5.7.0学习笔记
hdcms v5.7.0学习笔记 https://note.youdao.com/ynoteshare1/index.html?id=c404d63ac910eb15a440452f73d6a6db& ...
- dhtmlxgrid v3.0学习笔记
dhtmlxgrid v3.0学习笔记 分类: dhtmlx JavaScript2012-01-31 15:41 1744人阅读 评论(0) 收藏 举报 stylesheetdatecalendar ...
- OAuth 2.0学习笔记
文章目录 OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务商提供商"进行互动. OAuth在"客户端&quo ...
- 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建
作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...
- RxJava2.0学习笔记2 2018年7月3日 周二
摘记: 1.map -- 转换 有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...
随机推荐
- 信号监测---verilog
信号监测---verilog 此模块用于监测某一信号源是否持续稳定的传送. 监测思路:监测信号源高电平或者低电平的宽度是否始终保持一致(一定范围内允许有误差) `timescale 1ns / 1ps ...
- 一个HTTP打趴80%面试者
面试多年,每当我问起面试者对HTTP的了解时,个个回答令我瞠目结舌,这些开发者都有3-5年的经验.请不要让我叫你野生程序员,是时候了解HTTP了,让我们当个正规军. 起因 面试官:请问你了解HTTP协 ...
- dialog学习
11.dialog底部弹出动画: ==== 11.dialog底部弹出动画: 点击Button调用代码 private void show() { Dialog dialog = new Dialog ...
- HTML如何实现斜体字
HTML实现斜体字的标签为<i>标签,用来实现字体倾斜,写法如下: 字体斜体:<i>内容</i> 案例:正常 斜体 当文字加入i标签以后字体就会成为斜体
- 知识点:tuple 元素真的不可变吗
tuple 元素真的不可变吗 有一种有序列表叫元组:tuple. tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出单位或同学的名字: >>> clas ...
- Troubleshooting 10g and 11.1 Clusterware Reboots (文档 ID 265769.1)
Troubleshooting 10g and 11.1 Clusterware Reboots (文档 ID 265769.1) This document is intended for DBA' ...
- DOM事件类
1.DOM中的事件级别 DOM0: element.onclick = function(){} DOM1: 没有与事件相关的设计 DOM2: element.addEventListener('cl ...
- 解析-ESP01模块开发Arduino物联网wifi开关模块
本文将解析<完美图解物联网Iot实操 ESP8266>中 第五章 P177页 动手做的代码2(使用SPIFFS文件系统的代码) 首先我们先动手使用Arduino IDE编译并且上传代码,上 ...
- Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间等
#include "resource_minitor.h" #include "sys/statfs.h" resource_minitor::resource ...
- php的运行流程
1.Zend引擎:Zend整体用纯C实现,是PHP的内核部分,他将PHP代码翻译(词法.语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法.实现了基本的数据结构(如:hashta ...