在上一个教程我们已经学习了如何用OpenCV 读取、显示、保存计算机中的图像文件。
接下来我们要学习如何对这些图像文件进行处理,使其满足我们的需求。
在正式学习对图片处理之前,我们先要来了解一下,在计算机“眼”中图像是什么样的。
人眼中的图片
在计算机中,它们眼里的图片就是一堆数字信息。
当我们把图片不断放大的时候就会发现,它们都是由一个个小色块组成。
像这样的一个色块称为一个像素,一张图片的像素越多,图片越清晰,细节越多,同时文件也越大。
这张图横向有32个像素,纵向有41个像素,一般我们说这张图片的尺寸为32*41.
每个像素又由红、绿、蓝三个基本颜色组成,称为颜色通道。
PS:要注意,OpenCV里的颜色通道是 BGR,不是我们常说的RGB。
BGR图像的像素结构如下,作为演示,详细展示了如何访问某个像素点 pixel(y=n,x=1)
步骤1 显示图片的行数、列数和通道
在上一节代码的基础上,显示图片的行数列数和通道数
效果如下
也就是该文件400行(像素),300列(像素),3个通道
步骤2 显示图片大小
这个36000是怎么来的?
36000=400*300*3
步骤3 显示图片数据类型
为了节省存储空间,该图片采用8为无符号整数(uint8)类型存储。
步骤4 为图像添加边框
我们可以为图像增加一个边框,先来看代码和效果。
效果如下:
通过对比我们可以看到,图像的尺寸是比之前大的,因此是增加了边框,而不是在原图上画一个边框。
使用到的代码主要是这个
里面的参数很好理解,比较难理解的是边框类型,我们通过对比来看看各是什么效果
在这一节我们主要了解在OpenCV 中图像的基础知识,为下一节我们处理图像奠定基础。
三春牛-创客2023.03.03
赞
三春牛-创客2023.03.03
厉害
Nd0TAy8yduIE2022.11.13
学到了