opencv + numpy for python

  OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

  为什么有OpenCV
    计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:
    1.研究代码(慢,不稳定,独立并与其他库不兼容)
    2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
    3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。
    OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。

  下载了一个opencv试了一下,检测代码

  

 1 import cv2
 2 import numpy as np
 3 
 4 img = cv2.imread("20131025164949562.jpg")
 5 emptyImage = np.zeros(img.shape, np.uint8)
 6 
 7 emptyImage2 = img.copy()
 8 
 9 emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
10 #emptyImage3[...]=0
11 
12 cv2.imshow("EmptyImage", emptyImage)
13 cv2.imshow("Image", img)
14 cv2.imshow("EmptyImage2", emptyImage2)
15 cv2.imshow("EmptyImage3", emptyImage3)
16 cv2.imwrite("cat2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 5])
17 cv2.imwrite("cat3.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
18 cv2.imwrite("cat.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
19 cv2.imwrite("cat2.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
20 cv2.waitKey (0)
21 cv2.destroyAllWindows()

  修改图片的格式,图片质量,图片的质量默认为95,范围为0-100,对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。默认级别为3

 
原文地址:https://www.cnblogs.com/a1225234/p/4940527.html