栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

【OpenCV基础入门】图像概念

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【OpenCV基础入门】图像概念

【OpenCV基础入门】图像概念 1. 图像与原始字节

​ 一个字节就是0~255范围内的一个整数。目前,在 实时图形应用程序中,像素通常由每个通道一个字节来表示,但是也 可以使用其他表示方式。 OpenCV图像是numpy.array类型的二维或者三维数组。8位灰度图 像是包含字节值的一个二维数组。24位的BGR图像是一个三维数组,也 包含字节值。我们可以通过使用类似于image[0,0]或者image[0,0,0] 的表达式来访问这些值。第一个索引是像素的y坐标或者行,0表示顶 部。第二个索引是像素的x坐标或者列,0表示最左边。第三个索引 (如果有的话)表示一个颜色通道。

2.numpy.array访问图像数据

操作BGR图像的(0,0)坐标处的像素,并将其转换成白色像素:

import cv2

img = cv2.imread("picture.png")
img[0, 0] = [255, 255, 255]

如果将修改后的图像保存到文件后再查看该图像,你会在图像的 左上角看到一个白点。当然,这种修改并不是很有用,但是它显示了 某种修改的可能性。

考虑使用数组切片来操作颜色通道的一个例子。将一 幅图像的所有G(绿色)值都设置为0非常简单

img = cv2.imread("picture.png")
img[:, :, 1] = 0

程序从所有行和列中获取所有像素,并把 绿色值(在三元BGR数组的一个索引处)设置为0。如果显示此图像, 那么绿色完全消失了。

3.感兴趣区域(Region Of Interest,ROI)

​ 这样可以把这 个区域绑定到一个变量,定义第二个区域,将第一个区域的值赋给第 二个区域(从而将图像的一部分复制到图像的另一个位置)例如:

img = cv2.imread("picture.png")
my_roi = img[0:100, 0:100]
img[300:400, 300:400] = my_roi
# 确保两个区域在大小上一致很重要。如果大小不一致,NumPy会提示这两个形状不匹配

关于np数组的属性有以下方法

img = cv2.imread("picture.png")

print(img.shape)
print(img.size)
print(img.dtype)

这三个属性的定义如下:

​ shape:描述数组形状的一个元组。对于图像,它(依次)包括 高度、宽度、通道数(如果是彩色图像的话)。shape元组的长度是确定图像是灰度的还是彩色的一种有用方法。对于灰度图像, len(shape)==2,对于彩色图像,len(shape)==3

​ size:数组中的元素数。对于灰度图像,这和像素数是一样的。 对于BGR图像,它是像素数的3倍,因为每个像素都由3个元素(B、G 和R)表示。

​ dtype:数组元素的数据类型。对于每个通道8位的图像,数据类型是numpy.uint8。

4.颜色通道提取

下面一行代码表示按照OpenCV中的颜色通道顺序来提取当前img图像的BRG颜色(数组)

b, g, r = cv2.spilt(img)
print(b)

颜色通道组合

img = cv2.merge((b,g,r))
img.shape
5.不同颜色模型之间进行图像转换
  • 灰度模型是通过将颜色信息转换为灰度或亮度来减少颜色信息 的一种模型。在只有亮度信息就足够的问题中(如人脸检测),这个 模型对于图像的中间处理非常有用。通常,灰度图像中的每个像素都 是由一个8位值表示的,范围从0(黑色)到255(白色)。

  • BGR表示蓝–绿–红颜色模型,其中每个像素都有一个三元组 值表示的蓝、绿、红分量或者像素颜色的通道。Web开发人员以及任 何从事计算机图形工作的人员除了反向通道顺序(RGB)外,还都熟 悉类似的颜色定义。通常,BGR图像中的每个像素都由一个8位的三元 组值来表示,例如[0,0,0]表示黑色,[255,0,0]表示蓝色,[0,255,0]表示绿 色,[0,0,255]表示红色,[255,255,255]表示白色。

  • HSV模型使用一个不同的三元组通道。色调(hue)是颜色的基调,饱和度(saturation)是颜色的强度,值(value)表示颜色的亮 度。

默认情况下,OpenCV使用BGR颜色模型(每个通道8位)表示其从 文件加载或从摄像头抓取的任何图像。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1037950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号