OpenCV 介紹

講者:ㄇㄒ

日期:2020/11/01

及超級無敵小實作

OUTLINE

  • CV、OpenCV 基本介紹
  • 在 Python 的超級無敵小實作
  • 參考資料

基本介紹

CV (Computer Vision)

【名詞】 電腦視覺,是一個研究如何讓機器看這個世界,讓其能夠解讀影像的涵義與訊息的領域。

踏入領域須具備:影像處理、機器學習、資訊檢索、模式識別、統計學、線性代數等知識。

OpenCV

  • Open Source Computer Vision Library
  • 電腦視覺相關演算處理的開放原始碼Library
  • 商業和研究領域中可免費使用
  • 支援多種程式語言
  • 支援多種作業系統

歷史

  • 最早專案於1999年由英特爾公司啟動
  • 早期主要目的是推進機器視覺的研究,提供一套開源且最佳化的基礎庫
  • 2012起營運由非營利組織(OpenCV.org)來提供

應用

  • 影像處理

  • 人臉辨識

  • 動作識別

  • 運動跟蹤

  • 人機互動 ( HCI )

超級無敵小實作

來亂搞圖片吧_(:3 」∠ )_

STEP 1

$ pip install opencv-python

STEP 2 把圖片變黑白

import cv2
image = cv2.imread("test.jpg", 0)  
#把圖片讀近來,後面是0代標是以灰階讀取
cv2.imshow("newimg", image) #跳出視窗顯示圖片
cv2.waitKey(0) #視窗顯示多久,單位是毫秒,0是無限開啟

cv2.imread(讀檔路徑 [, 讀檔旗標])

cv2.imshow(視窗名稱, 影像變數)

STEP 3 加個醜醜的字

cv2.putText(image, "newimg", (200, 100), cv2.FONT_HERSHEY_SIMPLEX, 5, (255,0,0), 2)
# FONT_HERSHEY_SCRIPT_SIMPLEX 這是手寫體...

cv2.putText(影像變數, 文字, 位置, 字體, 尺寸, 顏色, 粗細)

STEP 4 存個檔

cv2.imwrite("test_new.jpg", image)
cv2.imwrite("test_lowq.jpg", image, [cv2.IMWRITE_JPEG_QUALITY, 50])
# 後面設定以.jpg或.jpeg存檔格式的品質,數字越大品質越高
# IMWRITE_WEBP_QUALITY、IMWRITE_PNG_QUALITY

存完可以去檔案位置看一下檔案大小差別和圖片品質

cv2.imwrite(存檔路徑, 影像變數 [, 存檔旗標])

就先簡單做到這裡

以下附上超短程式碼

import cv2
image = cv2.imread("test.jpg", 0)
cv2.putText(image, "newimg", (200, 100), cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, 5, (255,0,0), 2)
cv2.imshow("newww", image)
cv2.waitKey(0)
cv2.imwrite("test_new.jpg", image, [cv2.IMWRITE_JPEG_QUALITY, 95])
cv2.imwrite("test_lowq.jpg", image, [cv2.IMWRITE_JPEG_QUALITY, 50])

Reference

  • 文淵閣工作室(2019). Python初學特訓班(第四版):從快速入門到主流應用全面實戰. 台北市: 碁峰.
  • LUFOR129(2020). OpenCV圖片處理整理. Retrieved from: https://reurl.cc/d59KRM
  • TibaMe(2020). 你的AI會看圖嗎? Open CV介紹. Retrieved from: https://reurl.cc/4mq2E3
  • K_程式人(2018). [Python] OpenCV應用總整理. Retrieved from: https://reurl.cc/q8oMyn
  • 郭董<3小花園(2013). [OpenCV]影像處理API-OpenCV介紹與安裝教學. Retrieved from: https://reurl.cc/ygoxza

感謝聆聽ヽ(*´∀`)ノ

Made with Slides.com