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) #查询数据的类型


相关文章
|
缓存 数据挖掘 计算机视觉
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(五)——Grayscale(灰度图) 功能
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(五)——Grayscale(灰度图) 功能
443 0
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(五)——Grayscale(灰度图) 功能
|
4月前
看张手绘草图就能合成图形程序,加州伯克利让扩散模型掌握新技能
【7月更文挑战第12天】加州伯克利研究团队利用神经扩散模型创新程序合成,通过在语法树上反向消除“噪声”实现迭代编辑,改善了传统LLMs自回归生成的局限性。这种方法能看手绘草图生成图形程序,结合搜索进行调试,适用于逆图形任务,性能优越,但目前仅支持有限的程序结构。[[arxiv:2405.20519](https://arxiv.org/pdf/2405.20519)]
36 2
|
6月前
|
算法 安全 编译器
LabVIEW使用边缘检测技术实现彩色图像隐写术
LabVIEW使用边缘检测技术实现彩色图像隐写术
51 0
|
6月前
|
存储 传感器 算法
【数字图像】数字图像直方图规定化处理的奇妙之旅
【数字图像】数字图像直方图规定化处理的奇妙之旅
90 0
|
6月前
|
存储 传感器 算法
数字图像处理的图像操作
数字图像处理的图像操作
|
机器学习/深度学习 编解码 算法
CV之NoGAN:利用图像增强技术(图片上色)实现对旧图像和电影片段进行着色和修复(爱因斯坦、鲁迅旧照/清末官员生活场景等案例)
CV之NoGAN:利用图像增强技术(图片上色)实现对旧图像和电影片段进行着色和修复(爱因斯坦、鲁迅旧照/清末官员生活场景等案例)
CV之NoGAN:利用图像增强技术(图片上色)实现对旧图像和电影片段进行着色和修复(爱因斯坦、鲁迅旧照/清末官员生活场景等案例)
|
人工智能 编解码 算法
使用LabVIEW AI视觉工具包快速实现霍夫圆和霍夫直线检测(含源码)
使用LabVIEW AI视觉工具包快速实现霍夫圆和霍夫直线检测(含源码)
231 0
|
机器学习/深度学习 算法 计算机视觉
CV面试题目总结(三) - 传统图像算法
CV面试题目总结(三) - 传统图像算法
261 0
|
编解码 计算机视觉
数字图像处理--02数字图像基础
数字图像处理--02数字图像基础
143 0
|
存储 缓存 编解码
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(三)——Image(图像) 功能
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(三)——Image(图像) 功能
506 0
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(三)——Image(图像) 功能