【Python3+OpenCV】實現圖像處理—基本操作篇

2021-02-21 看那個碼農

本篇推文共計1000個字,閱讀時間約3分鐘。

OpenCV是一個C++庫,目前流行的計算機視覺編程庫,用於實時處理計算機視覺方面的問題,它涵蓋了很多計算機視覺領域的模塊。在Python中常使用OpenCV庫實現圖像處理。本文將介紹如何在Python3中使用OpenCV實現對圖像處理的基礎操作:

電腦環境準備

讀入圖像

Opencv中使用函數cv2.imread(filepath,flags)讀入一張圖像,該函數中各參數的說明如下:

cv2.IMREAD_COLOR:默認參數,讀入彩色圖片,忽略alpha通道,可以以1指定cv2.IMREAD_GRAYSCALE:讀入灰度圖片,可以以0指定cv2.IMREAD_UNCHANGED:讀入完整圖片,包括alpha通道

import cv2
#1的話讀取全彩圖片 0讀取灰度圖片即黑白圖片
img = cv2.imread('hello.jpg', 1)
img1 = cv2.imread('hello.jpg', 0)

顯示圖像

Opencv中使用函數cv2.imshow(name,img)顯示圖像,該函數中各參數的說明如下:

name:顯示圖像的窗口名字

img:  是即將要顯示的圖像(imread讀入的圖像),窗口大小自動調整為圖片大小

需要注意的是顯示圖片的時候要讓程序暫停,否則圖片會一閃而過,用戶就不會觀察到圖片。

因此需要用到:

cv2.waitKey(0)

import cv2
img = cv2.imread('hello.jpg',1)

#通過窗口展示圖片 第一個參數為窗口名 第二個為讀取的圖片變量
cv2.imshow('image',img)

#暫停cv2模塊 不然圖片窗口一瞬間即就會消失 觀察不到
cv2.waitKey(0)

若此處將img = cv2.imread('hello.jpg',1)改為img = cv2.imread('hello.jpg',0)

Opencv中如果想要將目前的圖像複製,可以使用以下語句實現:img1 = img.copy():img1是新圖像,img是原圖像

import cv2
img = cv2.imread('hello.jpg',0)

img1=img.copy()

#通過窗口展示圖片 第一個參數為窗口名 第二個為讀取的圖片變量
cv2.imshow('image',img1)

#暫停cv2模塊 不然圖片窗口一瞬間即就會消失 觀察不到
cv2.waitKey(0)


Opencv中使用函數imwrite("path",image)存儲圖像,該函數中各參數的說明如下:

path:保存圖片的路徑(自定義名稱)

image:讀取的圖片對象

import cv2
img = cv2.imread('hello.jpg',0)

#通過窗口展示圖片 第一個參數為窗口名 第二個為讀取的圖片變量
cv2.imshow('image',img)

cv2.imwrite('D:\Pycharm\Demo1\opencv\hello.jpg', img)

#暫停cv2模塊 不然圖片窗口一瞬間即就會消失,觀察不到
cv2.waitKey(0)


運行程序後,顯示如下:

本期推文到此結束,歡迎各位讀者關注本公眾號。

本公眾號將開設【Python3+OpenCV】專題,

並陸續推出相關系列文章,篇篇精彩。

歡迎讀者給本公眾號打個星標,讓你每天學習新知識,探索人工智慧的奧妙。

往期回顧

【玩轉華為雲】教你用ModelArts實現數據集的圖像標註

【玩轉華為雲】手把手教你ModelArts實現目標物體檢測

【玩轉華為雲】基於ModelArts實現行人車輛檢測

【玩轉騰訊雲】人臉融合,看你未來孩子長什麼樣

【玩轉騰訊雲】使用API快速構建文字識別小工具

架構師之路:星環大數據架構師的培訓心得

相關焦點

  • Python+OpenCV的基礎圖像處理操作匯總
    後臺回復CV入坑必備獲得CV入坑學習資料本文我們將討論使用Python中的OpenCV庫進行圖像處理的一些基本操作圖像處理是對圖像進行的技術操作與分析,比如為了得到增強的圖像或提取一些有用的信息而進行的一系列操作。隨著我們的發展,許多應用程式使用圖像/幀/視頻作為輸入,對它們進行預處理,並將其輸入到設備或軟體或腳本中。圖像處理也可以是娛樂性的,可以用於許多應用。
  • 「Python+cv2」Python安裝opencv及圖像的基本操作
    檢查python環境上面可以看出python版本是3.7。調用exit()函數可以退出python。檢查pip3是否安裝pip3 Linux下安裝方法:sudo apt install python3-pippip3 Windows下安裝Python環境會安裝。
  • Python 圖像處理 OpenCV (1):入門
    /官方 Demo :https://github.com/opencv/opencv/blob/master/samples/python圖書推薦圖書的話我就推薦一本吧,如果要看書學習絕對不能錯過的「Learning OpenCV 3」,當然,是英文原版的,中文版的話翻譯有點慘不忍睹,對英文閱讀壓力大的同學可以中英文對照著看:
  • 基於opencv 的圖像處理入門教程
    前言雖然計算機視覺領域目前基本是以深度學習算法為主,但實際上很多時候對圖片的很多處理方法,並不需要採用深度學習的網絡模型,採用目前成熟的圖像處理庫即可實現,比如 OpenCV 和 PIL ,對圖片進行簡單的調整大小、裁剪、旋轉,或者是對圖片的模糊操作。
  • opencv-python圖像預處理-濾波
    為了消除外界環境對圖像採集的幹擾,增強圖像的邊緣及灰度跳變的部分,使圖像變得清晰以及提高圖像處理速度需要對圖像進行預處理操作,主要是對圖像進行濾波和增強操作。使用的方法可以分為空間域處理和頻率域處理兩類。空間域指圖像平面本身,這類圖像處理方法用各種模板直接與圖像進行卷積運算,實現對圖像的處理。
  • python利用opencv實現證件照換底
    opencv今天就給大家介紹一下python利用opencv庫進行藍底換紅底或者白底照片的操作。1.強大的opencv庫說到圖像處理,不得不提opencv庫。它是一個跨平臺的計算機視覺庫,可以運行在不同作業系統上,它由一些列c函數和少量c++函數組成,並提供python,matlab等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。我們這裡用的opencv-python 就是opencv的python API接口。
  • 【Python3+OpenCV】實現圖像處理—灰度變換篇
    本篇推文共計1000個字,閱讀時間約3分鐘。OpenCV是一個C++庫,目前流行的計算機視覺編程庫,用於實時處理計算機視覺方面的問題,它涵蓋了很多計算機視覺領域的模塊。在Python中常使用OpenCV庫實現圖像處理。
  • 使用Python+OpenCV進行圖像處理之入門教程
    ,每個初學者都會覺得困難,這些技術實際上並沒有那麼難實現,一旦你掌握了其基本原理,那麼實現它們就相當簡單了。圖像處理有很多種應用,包括用於解析文檔和生成相應文本的光學字符識別(OCR)、圖像增強與重建、物體識別、人體運動識別、手勢識別、人臉識別等。在學習的過程中,你會遇到過奇形怪狀的各種圖像濾波器,那有沒有去思考如何實現它嗎,在本文中,我們將通過實現一個簡單的濾波器來開始我們的圖像處理之旅!什麼是OpenCVOpenCV是一個開源庫,包含了許多計算機視覺算法。
  • 【視覺與圖像】Python+OpenCV教程入門篇
    本教程編寫時使用的軟體版本是:OpenCV 3.x,Python 3.x。要安裝OpenCV,只需cmd下的一條指令:pip install opencv-pythonpip是Python的包管理器,如果你還沒安裝Python,強烈推薦安裝Anaconda,它包含了大量的科學計算包,不用後期一個個安裝。即使你已經裝了Python也沒有影響,Anaconda相當於虛擬環境,互不幹擾。
  • 基於OpenCV的圖像分割處理!
    圖像閾值化分割是一種傳統的最常用的圖像分割方法,因其實現簡單、計算量小、性能較穩定而成為圖像分割中最基本和應用最廣泛的分割技術。它特別適用於目標和背景佔據不同灰度級範圍的圖像。它不僅可以極大的壓縮數據量,而且也大大簡化了分析和處理步驟,因此在很多情況下,是進行圖像分析、特徵提取與模式識別之前的必要的圖像預處理過程。閾值處理是指剔除圖像內像素值高於閾值或者低於閾值得像素點。例如,設定閾值為127,將圖像內所有像素值大於127的像素點的值設為255;將圖像內所有像素值小於127的像素點的值設為0。
  • 使用Python+OpenCV實現圖像數據採集
    在Anaconda或命令提示符中鍵入conda create -n opencv python=3.6這將在Python版本3.6中創建一個名為opencv的新環境,可以用正在使用的任何版本替換它。下一步,輸入pip install opencv-python你已經成功安裝了cv2! 現在你可以開始拍照了。
  • 基於 opencv 的圖像處理入門教程
    雖然計算機視覺領域目前基本是以深度學習算法為主,但實際上很多時候對圖片的很多處理方法,並不需要採用深度學習的網絡模型,採用目前成熟的圖像處理庫即可實現,比如 OpenCV 和 PIL ,對圖片進行簡單的調整大小、裁剪、旋轉,或者是對圖片的模糊操作。
  • 使用Python+OpenCV實現神經網絡預處理人臉圖像的快速指南
    我們的彩色圖像有3個通道:藍色,綠色和紅色(在OpenCV中按這個順序)。因此,如果我們的數據集有很多圖像,我們應該考慮在訓練階段之前實現批量調整大小的過程。原文連結:https://medium.com/yottabytes/processing-facial-images-for-neural-networks-using-opencv-in-python-47ee3438abd4
  • [Python圖像處理] 一.圖像處理基礎知識及OpenCV入門函數
    希望文章對您有所幫助,如果有不足之處,還請海涵~該系列在github所有原始碼:本篇文章作為第一篇,將講解圖像處理基礎知識和OpenCV入門函數,知識點如下:一.圖像基礎知識二.OpenCV讀寫圖像三.OpenCV像素處理御
  • opencv-python獲取圖像:面向對象與面向過程
    獲取圖像的方式有:1,讀取本地圖片,2,調用筆記本自帶攝像頭或usb攝像頭,3,調用網絡攝像頭。讀取圖片學過數字圖像處理的小夥伴應該很熟悉,在數字圖像處理課上,這是一張標準的測試圖片。Lena圖像在科研領域流行的原因:1.該圖適度的混合了細節、平滑區域、陰影和紋理,從而能很好的測試各種圖像處理算法。2.Lenna是個美女,對於圖像處理界的研究者(大部分都是男性)來說,美女圖可以有效地吸引他們來做研究。
  • 【數字圖像處理系列五】圖像濾波之空間濾波:圖像平滑降噪和圖像銳化
    python版本:python3.5.4 ; opencv-python版本:opencv-python3.4.2.17使用的開發環境是
  • Python下opencv使用筆記(一:簡單操作與幾何變換)
    ,包括常見的圖像處理方法,濾波算法,等等,了解常見的操作,方便後續的進一步處理,這裡搬運過來,方便視覺領域的初學者可以參考。圖像簡單讀取、顯示與儲存首先關於python想說的是,單純的官網下載的python並不大,是一個最初的python,進行一些簡單的操作時可以的,但是當你進行複雜一點的時候,就需要許多第三方的安裝包,比如numpy等等,這些庫安裝進去說起來也不是很複雜,網上有很多教程,但是當許多的包安裝的時候,有的庫包並沒有你的電腦的版本,等等還有許多因素導致你的庫包安裝不進去,想想還是挺麻煩的
  • 【計算機視覺處理一】OpenCV入門
    詳細內容可以查看OpenCV的官網:https://opencv.org/。2、OpenCV能做什麼?OpenCV中實現了了很多計算機視覺算法,包括基本的圖片運算、閾值處理、圖像濾波、形態學操作等。除此之外,OpenCV還提供了級聯分類器可以用於人臉檢測。不僅是圖片,OpenCV同時提供了視頻處理相關的操作,下面我們來看看一些案例。
  • 手把手教你使用圖像處理利器OpenCV
    我們一開始會討論一些圖像處理,然後繼續探討不同的應用/場景,也就是圖像處理的用武之地。開始吧!什麼是圖像處理?在深入研究圖像處理的方法之前,重要的是要了解什麼是圖像處理,特別是這項技術在處理大量圖片方面的角色。圖像處理完整的說法是「數字圖像處理」,經常使用圖像處理的領域是「計算機視覺」。
  • 「python opencv計算機視覺零基礎到實戰」九模糊
    一、學習目標了解什麼是卷積了解模糊的使用方法與應用目錄「python opencv 計算機視覺零基礎實戰」 第一節「python opencv視覺入門到實戰」二、格式與攝像頭「python opencv 視覺入門到實戰」 三、圖像編輯「python opencv視覺入門到實戰」 第四節色彩空間