CV1 计算机眼中的图像

简介: 该输出有两个[],说明该图像有两条通道,每一个像素都由一个8-bit整数表示,每个像素的范围是(0~255),其中,0表示最黑,255表示最白

一 基本读写图像文件


无论哪种格式,每一个像素都会有一个值,但不同格式表示像素的方式有所不同


  • numpy.zero()函数


调用该函数,可以通过二维NumPy数组来简单创建一个黑色的正方形图像


img=numpy.zeros((3,3),dtype=numpy.uint8)


控制台print一下,可得


/

[[0 0 0]
[0 0 0]
[0 0 0]]


该输出有两个[],说明该图像有两条通道,每一个像素都由一个8-bit整数表示,每个像素的范围是(0~255),其中,0表示最黑,255表示最白


  • cv2.cvtColor函数


使用该函数,可以把图像转化为BGR格式


img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)


控制台print一下,可得


[[[0 0 0] [0 0 0] [0 0 0]]
[[0 0 0] [0 0 0] [0 0 0]]
[[0 0 0] [0 0 0] [0 0 0]]]


现在,每个像素点都由一个三元数组,并且每一个二维数组/整形(integer)分别表示一个B/G/R通道


  • img.shape参数


可以通过shape属性来查看图像的结构,它会返回行和列,如果有2个及以上的通道,还会返回通道数


print(img.shape)


返回(414,500,3);414代表高【h】,500代表宽【w】,3是通道数【c】/或者说像素红绿蓝也行


  • 图像的读取及保存


image = cv2.imread('D:/opencv/imgurl/1.png')
cv2.imwrite('D:/opencv/imgurl/1.png',image)


这段代码,读取一张png图片,然后把它保存为jpg格式


  • 将图片转换成灰度图,并保存


grayImage = cv2.imread('D:/opencv/imgurl/1.png',cv2.IMREAD_GRAYSCALE)
cv2.imwrite('D:/opencv/imgurl/1.png',grayImage)


二 打开图像


import cv2
import numpy
img = cv2.imread('D:/opencv/imgurl/2.jpg')
cv2.imshow('p',img)
cv2.waitKey()
cv2.destroyAllWindows()


  • cv2.imread()函数


cv2.imread('D:/opencv/imgurl/1.png')


括号里面得参数是图片的路径


  • cv2.imshow()函数


cv2.imshow('openpng',img)


第一个参数是给窗口命名(命名只能是英文),第二个参数是已imread的图像


  • cv2.waitKey()函数


#等待时间,毫秒级别,0表示任意键终止
cv2.waitKey(1000)


等待键盘输入,函数WaitKey无限地等待一个键事件,如果没有键,则返回-1


触发这段代码,窗口消失


  • cv2.destroyAllWindow()函数


cv2.destroyAllWindows()


关掉所有窗口,销毁内存


三 查询图像的信息


print(type(img1)) #查询底层格式
print(img1.size) #计算像素点的个数
print(img1.dtype) #查询数据的类型


相关文章
|
自然语言处理 PyTorch 算法框架/工具
安装ModelScope问题之官方指导的环境搭建会报错如何解决
本合集将提供ModelScope安装步骤、配置要求和环境准备,以便用户顺利启动ModelScope进行模型开发和测试。
476 0
|
机器学习/深度学习 编解码 算法
人脸识别的主要流程
【1月更文挑战第4天】
|
NoSQL MongoDB 数据库
MongoDB日志浅析
MongoDB 日志
7130 0
|
9月前
|
算法 测试技术 Swift
Kimi开源Moonlight-16B-A3B:基于Muon优化器的高效大模型,性能与效率双突破!
最近,Muon优化器在训练小规模语言模型方面展示了强大的效果,但其在大规模模型上的可扩展性尚未得到验证。
534 0
|
存储 SQL 分布式计算
数仓架构师必知必会
数仓架构师必知必会
|
数据采集 人工智能 自然语言处理
从零开始学AI:Python完整操作教程
本教程详尽介绍了利用Python进行人工智能操作的核心方法与应用场景,涵盖数据预处理、模型训练与评估全过程。通过源码解析和实战案例(如房价与股票价格预测),读者将学会构建与测试AI模型,并理解其优缺点。教程还探讨了AI在智能客服与医疗诊断等领域的应用,以及如何通过单元测试确保代码质量。通过本教程,初学者能够快速掌握AI基本技能,为未来的技术发展奠定坚实基础。
1918 4
从零开始学AI:Python完整操作教程
|
存储 缓存
[Eigen中文文档] 深入了解 Eigen - 惰性求值与混叠(Aliasing)
Eigen具有智能的编译时机制,可以实现惰性求值并在适当的情况下删除临时变量。它会自动处理大多数情况下的混叠问题,例如矩阵乘积。自动行为可以通过使用MatrixBase::eval()和MatrixBase::noalias()方法手动覆盖。
585 0
|
存储 前端开发 区块链
常见的 EVM 版本以及它们的区别
常见的 EVM 版本以及它们的区别
303 5
抖音最近很火的QQ在线价值评估网站源码(qq价值在线评估)
这个源码是很多年以前的了,最近又在抖音刷到别人直播需要刷礼物才能给你评测,所以又找了一下测试了可用,将源码上传后解压,访问可以直接使用。
1715 0
抖音最近很火的QQ在线价值评估网站源码(qq价值在线评估)
|
传感器 物联网 数据处理
【Python入门系列】第二十一篇:Python物联网和传感器应用
物联网和传感器在现代科技中扮演着重要的角色。物联网是指通过互联网连接各种设备和传感器,实现设备之间的通信和数据交换。传感器则是物联网的核心组成部分,用于感知和采集环境中的各种数据。在这篇文章中,我们将探讨使用Python开发物联网和传感器应用的主题。
782 0