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


相关文章
|
9月前
|
计算机视觉
CV项目肢体动作识别(三)内附完整代码和详细讲解
首先我还是给出完整的代码,然后再进行详细的讲解。这一次我们用模块化的思想,把一个功能模块化(moudle),这种思想在工程中非常常见,在分工中你需要做好自己的工作就可以,最后再调用这些模块。
117 1
|
计算机视觉
OpenCV-黑帽运算(BLACKHAT)
OpenCV-黑帽运算(BLACKHAT)
124 0
|
机器学习/深度学习 算法 计算机视觉
CV面试题目总结(三) - 传统图像算法
CV面试题目总结(三) - 传统图像算法
329 0
|
存储 文件存储 计算机视觉
CV:计算机视觉基础之图像存储到计算机的原理daiding
CV:计算机视觉基础之图像存储到计算机的原理daiding
|
机器学习/深度学习 传感器 编解码
【DataFountain-CV训练赛】
【DataFountain-CV训练赛】
331 0
【DataFountain-CV训练赛】
|
传感器 机器学习/深度学习 编解码
计算机视觉教程0-2:你了解眼里所见的色彩吗?(详解RGB/HSV/Lab)
计算机视觉教程0-2:你了解眼里所见的色彩吗?(详解RGB/HSV/Lab)
294 0
计算机视觉教程0-2:你了解眼里所见的色彩吗?(详解RGB/HSV/Lab)
|
机器学习/深度学习 算法 机器人
计算机视觉教程2-7:天使与恶魔?图文详解图像形态学运算(附代码)
计算机视觉教程2-7:天使与恶魔?图文详解图像形态学运算(附代码)
176 0
计算机视觉教程2-7:天使与恶魔?图文详解图像形态学运算(附代码)
|
C# 计算机视觉
Win8Metro(C#)数字图像处理--2.10图像中值滤波
原文:Win8Metro(C#)数字图像处理--2.10图像中值滤波  [函数名称] 图像中值滤波函数MedianFilterProcess(WriteableBitmap src) [函数代码]        ///        /// Median filter process.
1268 0
|
算法 C# 计算机视觉
Win8 Metro(C#)数字图像处理--2.44图像油画效果算法
原文:Win8 Metro(C#)数字图像处理--2.44图像油画效果算法  [函数名称]   图像油画效果      OilpaintingProcess(WriteableBitmap src) [算法说明]   图像油画效果可以看作是轻度的雾化,因此我们只需将雾化的阈值设置为2即可,雾化效果在下一小节有详细介绍。
1134 0
|
C# 计算机视觉 算法
Win8 Metro(C#)数字图像处理--2.53图像傅立叶变换
原文:Win8 Metro(C#)数字图像处理--2.53图像傅立叶变换  [函数名称] 1,一维FFT变换函数         Complex[] FFT(Complex[] sourceData, int...
870 0

热门文章

最新文章