IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> OpenCV4 学习笔记 DAY1 -> 正文阅读

[人工智能]OpenCV4 学习笔记 DAY1

课程来源:?B站 OpenCV4 C++ 快速入门视频30讲

目录

第一节课 OpenCV4.5.1环境配置和搭建

第二节课 图像读取与显示

第三节课 图像色彩空间转换

1. 色彩空间转换函数 —— cvtColor

2. 图像保存 —— imwrite

?第四课 图像对象的创建与赋值



第一节课 OpenCV4.5.1环境配置和搭建

Visual Studio 2017 pro + OpenCV 4.5.1

环境跟着视频做就可以搭好。

要注意的是每次新建一个项目的时候要调为Release x64.

(下载了一个有用的解压软件7-zip)

第二节课 图像读取与显示

imread 读取图像

使用格式:imread(path, color)

? ? ? ? ? ? ? ? color:IMREAD_GRAYSCALE 灰度,默认彩色

imshow 显示图像

使用格式:imshow(name, data)

? ? ? ? ? ? ? ? data:数据对象

namedWindow 窗口

使用格式:namedWindow(name, pattern)

? ? ? ? ? ? ? ? pattern: WINDOW_FREERATIO?调节窗口大小,可以显示全部图片

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?WINDOW_AUTOSIZE?自动,可能不会显示全部图片

#include <opencv2\opencv.hpp>
#include <iostream>

using namespace cv;

int main(int argc, char** argv)
{
	//Mat表示矩阵,是图像
	Mat src = imread("E:/love/default.jpg",IMREAD_GRAYSCALE);//imread读取图像,IMREAD_GRAYSCALE灰度
	if (src.empty())//若为空则输出以下
	{
		printf("could not load image...\n");
		return -1;
	}
	namedWindow("input", WINDOW_FREERATIO);//调节窗口大小,可以显示全部
	imshow("input", src);//imshow显示图像,input是窗口名称,src数据对象
	waitKey(0);//阻塞,让图片显示
	destroyAllWindows();
	return 0;
}

第三节课 图像色彩空间转换

1. 色彩空间转换函数 —— cvtColor

使用格式:cvtColor(mat1, mat2, pattern)——mat1是转换前,mat2是转换后,pattern是转换方式

? ? ? ? ? ? ? ? ? pattern:? ? ? ?COLOR_BGR2GRAY = 6 彩色到灰度

????????????????????????????????????????COLOR_GRAY2BGR = 8 灰度到彩色

????????????????????????????????????????COLOR_BGR2HSV = 40 BGR到HSV

????????????????????????????????????????COLOR_HSV2BGR = 54 HSV到BGR

HSV:色调(H),饱和度(S),明度(V)

2. 图像保存 —— imwrite

使用格式:imwrite(path, data)

void QuickDemo::colorSpace_Demo(Mat &image) {
	Mat gray, hsv;
	cvtColor(image, hsv, COLOR_BGR2HSV);
	cvtColor(image, gray, COLOR_BGR2GRAY);
	imshow("HSV", hsv);
	imshow("灰度", gray);
	imwrite("E:/love/default_hsv.png", hsv);
	imwrite("E:/love/default_gray.png", gray);
}

效果:

?第四节课 图像对象的创建与赋值

?C++中Mat对象的创建

Python中Numpy数组对象

CV_8UC3:8表示8位 U表示无符号 C表示char类型 3表示通道数

//创建方法——克隆
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(512, 512), CV_8UC3);
Mat m6 = Mat::ones(Size(512, 512),CV_8UC3);

Mat kernel = (Mat_<char>(3, 3) << 0,-1,0,
    -1,5,-1,
    0,-1,0);

E.G.

	Mat m3 = Mat::zeros(Size(8, 8), CV_8UC1);
    //cv_8uc1 8表示8位 u表示无符号 c表示char 1表示通道数
	std::cout << "width:" << m3.cols << " height:" << m3.rows << " channels:" << m3.channels() << std::endl;
	std::cout << m3 << std::endl;

	Mat m3 = Mat::zeros(Size(7, 8), CV_8UC3);
    //cv_8uc1 8表示8位 u表示无符号 c表示char 3表示通道数
	std::cout << "width:" << m3.cols << " height:" << m3.rows << " channels:" << m3.channels() << std::endl;
	std::cout << m3 << std::endl;

?

?显示全蓝色图片的代码段:

	Mat m3 = Mat::zeros(Size(400, 400), CV_8UC3);
    //cv_8uc3 8表示8位 u表示无符号 c表示char 3表示通道数
	//zeros 零 
	//ones 一 给第一个通道赋值
	//Scalar给三个通道赋值,未赋值就是0
	m3 = Scalar(255,0,0);
	std::cout << "width:" << m3.cols << " height:" << m3.rows << " channels:" << m3.channels() << std::endl;
	std::cout << m3 << std::endl;
	imshow("mine", m3);

?注意:

Mat m4=m3;

此时m4就是m3,改变m4则m3也会随之改变。

Mat m4=m3.clone();/copyTo

此时改变m4而m3不会改变。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:01:52  更:2021-08-14 14:02:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:28:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码