学习机器学习,必不可少的就是计算机视觉了。把最近学习的总结跟复习下。
opencv是什么?
Opencv的全称是Open Source Computer Vision Library,也就是计算机视觉开源库。这里说到,Opencv就是一个库(它是基于C++语言的,当然也可在其他平台使用,如Java,Python),这个库是用在计算机视觉领域的,同时是开源的,也就是我们可以获得它的源代码,并且可以按我们自己的需求进行修改。
如何下载安装
进入cmd,然后输入
pip install opencv-python
如图,当然我是已经安装好的。如果一直报错的话可能是网速太慢,可以考虑换源。
然后安装后检查安装成功没。
如图,如果没有报错的话就是安装成功了。
接下来就开始介绍opencv了。
1.读写图片
在opencv里读取照片用的是imread()函数,默认情况下,imread函数返回BGR格式的图像,可以用imwrite函数将数据写到本地。下面的代码会将JPG图片转成PNG。
import cv2
image = cv2.imread('dahula.jpeg')
cv2.imwrite('dahula.png', image)
这就是一个很简单的对图片格式的转换。
下来就是做计算机视觉时最常见的一个美女了!
基本上所有的学习都是对这个美女的照片进行处理的。
说完读写照片,那么如何能显示照片呢?就用到了imshow()函数、
2.显示照片
在使用imshow函数时一定要注意要与waitkey()函数一起使用,不然窗口就直接关闭了,刚入门的人还以为imshow函数没有起作用呢!
import cv2
image = cv2.imread('dahula.jpeg')
cv2.imwrite('dahula.png', image)
cv2.imshow('input images', image)
cv2.waitKey(0)//waitkey()函数表示等待X秒,当X为0时,表示等待无限长时间
如上图。这就是直接显示出来的。
接下来要介绍的是电脑如何看照片的!
3.图片的属性
import cv2 as cv
import numpy as np
def get_image_info(image):
print(type(image))
print(image.shape)
print(image.size)
print(image.dtype)
pie_data = np.array(image)
print(pie_data)
print("-----------Hello Python-----------")
src = cv.imread(r"C:\Users\dahula\Desktop\jietu.png")
cv.namedWindow("input images",cv.WINDOW_AUTOSIZE)
cv.imshow("input images",src)
get_image_info(src)
cv.waitKey(0)
cv.destroyAllWindows()
没错我们看到的是一堆矩阵,对于计算机来说,我们眼里的照片在他那里只不过是一个矩阵而已。他有三个重要属性:高度,宽度,通道。
在上面这个截图中,(585,574,3)表示高度为585,宽度为573,每个像素点有3个通道。
而1007370表示这个照片的大小,怎么算出来的呢?
5855743 = 1007370
4.最后
最近学opencv很快,我会继续以写博客的方式复习巩固opencv的。加油!