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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM