为什么用python?
python作为一种高效简洁的直译式语言非常适合我们用来解决日常工作,简单易学,再加上numpy和matplotlib两个翅膀,python对数据分析的能力不逊于matlab。python还被称为胶水语言,有很多软件都提供了python接口。尤其是在linux下,可以使用python将不同的软件组成一个工作流,发挥每一个软件自己最大的优势从而完成一个个复杂的任务,比如我们使用mysql数据库,使用r分析数据,使用matplotlib展示数据,使用opengl进行3D建模,使用qt构建漂亮的gui。而python可以将他们联合在一起构建一个强大的工作流。
为什么用OpenCV?
虽然python功能很强大,也有自己的图像处理库PIL,但是相对于OpenCV来说,其功能还是很弱小的。和很多开源软件一样,OpenCV也提供了完善的python接口,便于调用,包含了超过2500个算法和函数,非常方便。
几个常用的基本函数解释
1、cv2.imread()图像读入
使用函数cv2.imread()读入图像,这幅图像应该在此程序的工作路径,或者给函数提供完整路径,第二个参是要告诉函数应该如何读取这幅图片。
cv2.imread_color读入一副彩色图像,图像的透明度会被忽略,这是默认参数。
cv2.imread——grayscale以灰度模式读入图像
例如img = cv2.imread('lena.jpg',0)
ps:调用OpenCV,就算图像的路径是错的,OpenCV也不会提醒你,但是当你使用命令print img时得到的结果是None
2、cv2.imshow()显示图像
使用函数cv2.imread()显示图像,窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。可以创建多个窗口,但是必须给他们不同的名字。
例如cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
3、cv2.imwrite()保存图像
例如cv2.imwrite('lena.png',img)
4、cv2.waitKey()
是一个键盘绑定函数。需要指出的是它的时间尺度是毫秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的ASCII码值,程序将会继续运行。如果没有键盘输入,返回值为-1,如果我们设置这个函数的参数为0,那它将会无限期的等待键盘输入。它也可以被用来检测特定键是否被按下,例如按键a是否被按下。
网友评论