1. 程式人生 > >5-python影象處理opencv(1.讀圖,顯示,轉換,儲存)

5-python影象處理opencv(1.讀圖,顯示,轉換,儲存)

通過opencv的python介面來,呼叫opencv函式實現,對圖片的載入,顯示,顏色轉換和儲存等

由於:opencv中使用到了python的許多第三方外掛,例如 numpy等,以上鍊接均提供相應配置

一.讀圖
opencv提供了一個很簡單的讀圖方法, cv2.imread(path)

img = cv2.imread("test1.jpg")

二.顯示
opencv 中顯示圖片需要兩步
1.建立一個視窗

cv2.namedWindow("myImage")

2.將圖片顯示到視窗上

cv2.imshow("myImage",img)

為了防止一閃而過

cv2.waitKey(0) #暫停一下

關閉所有視窗

cv2.destroyAllWindows()

三.色彩變換
opencv中提供了方法 cvtColor(img,cv2.COLOR_RGB2HSV) 建立影象副本,同時也可以對圖片進行色彩變換

emptyImage3 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

有個小的規律,cv.COLOR 後面的東西都有個 2 (two) –> to 即:從什麼轉化成什麼具體轉換如下圖:(圖借鑑的)
這裡寫圖片描述

四.儲存
儲存,可以使用opencv中的 imwrite(path,img,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
第三個是可選引數不填則預設按照原格式儲存

cv2.imwrite("C:/test/save.jpg", img,[int(cv2.IMWRITE_JPEG_QUALITY), 100])

特定格式儲存的引數編碼:
JPEG:params表示0到100的圖片質量(CV_IMWRITE_JPEG_QUALITY),預設值為95;
PNG:params表示壓縮級別(CV_IMWRITE_PNG_COMPRESSION),從0到9,其值越大,壓縮尺寸越小,壓縮時間越長;
PPM / PGM / PBM:params表示二進位制格式標誌(CV_IMWRITE_PXM_BINARY),取值為0或1,預設值是1。

測試案例

#coding=utf-8
# # 使用opencv做一個小案例,實現 # 對圖片的讀取,顯示, # 圖片色彩轉化 從RGB轉換為HSV # 儲存 import cv2 #讀圖 中文路精可能有問題 img = cv2.imread('C:/test/opencvTest/demoCV1/test.jpg') # 建立視窗 cv2.namedWindow('imgTest1') # 顯示 cv2.imshow('imgTest1',img) # 色彩轉換 img2 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) # 建立視窗 cv2.namedWindow('imgTest2') # 顯示 cv2.imshow('imgTest2',img2) #暫停 cv2.waitKey(0) #關閉所有視窗 cv2.destroyAllWindows() #儲存位jpg格式,,縮小比率為 0.8 cv2.imwrite("C:/test/opencvTest/demoCV1/save.jpg", img2,[int(cv2.IMWRITE_JPEG_QUALITY), 80])

測試結果:
這裡寫圖片描述
這裡寫圖片描述

相關推薦

5-python影象處理opencv1.顯示轉換儲存

通過opencv的python介面來,呼叫opencv函式實現,對圖片的載入,顯示,顏色轉換和儲存等 由於:opencv中使用到了python的許多第三方外掛,例如 numpy等,以上鍊接均提供相

Python 影象處理 OpenCV 1:入門

![](https://cdn.geekdigging.com/opencv/opencv_header.png) ## 引言 又開一個新的系列分享,對影象處理感興趣的同學可以關注這個系列。 更新頻率儘量保持一週兩到三次推送。 新系列第一件事兒當然是資源推薦,下面是一些有關 OpenCV 的資源連結:

Python 影象處理 OpenCV 5影象的幾何變換

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 2:畫素處理與 Numpy 操作以及 Matplotlib 顯示影象

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) ## 普通

Python 影象處理 OpenCV 3影象屬性、影象感興趣 ROI 區域及通道處理

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 4影象算數運算以及修改顏色空間

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 6影象的閾值處理

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 7影象平滑濾波處理

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 9影象處理形態學開運算、閉運算以及梯度運算

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 10影象處理形態學之頂帽運算與黑帽運算

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 12: Roberts 運算元、 Prewitt 運算元、 Sobel 運算元和 Laplacian 運算元邊緣檢測技術

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 13: Scharr 運算元和 LOG 運算元邊緣檢測技術

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 14影象金字塔

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 15影象輪廓

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

Python 影象處理 OpenCV 16影象直方圖

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

影象處理系列1:測地線動態輪廓geodesic active contour

動態輪廓是影象分割的一個熱點,從早期的snake,就有很多的優化版,測地線動態輪廓(GAC)就是其中之一。總體來說,其摒棄了snake對引數的依賴,並加入了水平集,使得輪廓曲線更貼近目標物的拓撲結構。 經典的動態輪廓模型(activecontour model)的能量公式為

opencv學習(1)——入並顯示一幅圖片

window7 64位 +vs2013+opencv3.0.0 #include<opencv2/opencv.hpp> using namespace cv; int main(int argc,char*argv[]) { Mat

影象處理——OpenCV1

目錄 1、測試程式碼 2、報錯如下: 3、報錯原因:未新增庫 4、解決方法: 1、測試程式碼 #include <iostream> #include "stdafx.h" #include <opencv2/core/core.hpp> #inclu

opencv+Python影象處理進階教程學習總結記錄

教程:2 opencv+python影象處理進階 講解老師:賈志剛 1.1 進階主要內容概述:影象卷積與應用,直方圖應用,模板匹配,影象金字塔 1.2 模糊與卷積原理 上圖顯示為一維和二維的均值卷積示例 相關Api : blur 程式碼示例 import c

OpenCV-Python 影象處理影象的讀取、顯示儲存

說明: 本系列主要是學習OpenCV-Python文件的個人筆記。 很少有理論的敘述,都是函式名、引數描述、作用、應用場景、程式碼、效果圖。簡單明瞭,即學即用。 目標 學會讀取、顯示、儲存單張影象 對應的函式分佈為:cv2.imread() ,