回到顶部 回到顶部
best-icon

用Mind+学OpenCV系列教程二——计算机“眼”中的图 简单

头像 肥罗-阿勇 2022.05.13 1061 1
project-image

在上一个教程我们已经学习了如何用OpenCV 读取、显示、保存计算机中的图像文件。

接下来我们要学习如何对这些图像文件进行处理,使其满足我们的需求。

在正式学习对图片处理之前,我们先要来了解一下,在计算机“眼”中图像是什么样的。

 

人眼中的图片

project-image

在计算机中,它们眼里的图片就是一堆数字信息。

当我们把图片不断放大的时候就会发现,它们都是由一个个小色块组成。

project-image

像这样的一个色块称为一个像素,一张图片的像素越多,图片越清晰,细节越多,同时文件也越大。

这张图横向有32个像素,纵向有41个像素,一般我们说这张图片的尺寸为32*41.

 

每个像素又由红、绿、蓝三个基本颜色组成,称为颜色通道。

project-image

PS:要注意,OpenCV里的颜色通道是 BGR,不是我们常说的RGB。

BGR图像的像素结构如下,作为演示,详细展示了如何访问某个像素点 pixel(y=n,x=1)

project-image

步骤1 显示图片的行数、列数和通道

project-image

在上一节代码的基础上,显示图片的行数列数和通道数

project-image

效果如下

project-image

也就是该文件400行(像素),300列(像素),3个通道

步骤2 显示图片大小

project-image
project-image

这个36000是怎么来的?

36000=400*300*3

步骤3 显示图片数据类型

project-image
project-image

为了节省存储空间,该图片采用8为无符号整数(uint8)类型存储。

步骤4 为图像添加边框

我们可以为图像增加一个边框,先来看代码和效果。

project-image

效果如下:

project-image

通过对比我们可以看到,图像的尺寸是比之前大的,因此是增加了边框,而不是在原图上画一个边框。

使用到的代码主要是这个

project-image

里面的参数很好理解,比较难理解的是边框类型,我们通过对比来看看各是什么效果

project-image

在这一节我们主要了解在OpenCV 中图像的基础知识,为下一节我们处理图像奠定基础。

评论

user-avatar
  • Nd0TAy8yduIE

    Nd0TAy8yduIE2022.11.13

    学到了

    0