OpenCv-Python 影象處理基本操作
1. 圖片載入、顯示和儲存
import cv2
img = cv2.imread("01.jpg")
imgGrey = cv2.imread("01.jpg",0)
cv2.imshow("img",img)
cv2.imshow("imgGrey",imgGrey)
cv2.waitKey()
cv2.imwrite("Copy.jpg",img)
2. 影象顯示視窗建立與銷燬
cv2.namedWindow(視窗名,屬性) 建立一個視窗
屬性—指定視窗大小模式:
cv2.WINDOW_AUTOSIZE:根據影象大小自動建立大小cv2.WINDOW_NORMAL:視窗大小可調整
cv2.destoryAllWindows(視窗名) 刪除任何建立的視窗
import cv2
img = cv2.imread("01.jpg")
cv2.namedWindow("img",cv2.WINDOW_NORMAL)
cv2.imshow("img",img)
cv2.waitKey()
cv2.destroyAllWindows()
3. 圖片寬、高、通道數獲取
img.shape 返回影象高(影象矩陣的行數)、寬(影象矩陣的列數)和通道數3個屬性組成的元組,若影象是非彩色圖,則只返回高和寬組成的元組。
import cv2 img = cv2.imread("01.jpg") imgGrey = cv2.imread("01.jpg",0) sp1 = img.shape sp2 = imgGrey.shape print sp1 print sp2
4. 影象畫素數目和影象資料型別獲取
影象矩陣img的size屬性和dtype分別對應影象的畫素總數目和影象資料型別。一般情況下,影象的資料型別是uint8。
import cv2
img = cv2.imread("01.jpg")
imgSize = img.size
print imgSize
ty = img.dtype
print ty
5. 生成指定大小的空影象
使用numpy.zeros()函式生成指定大小的空影象
import cv2 import numpy as np img = cv2.imread("01.jpg") imgZero = np.zeros(img.shape,np.uint8) imgFix = np.zeros((300,500,3),np.uint8) # imgFix = np.zeros((300,500),np.uint8) cv2.imshow("img",img) cv2.imshow("imgZero",imgZero) cv2.imshow("imgFix",imgFix) cv2.waitKey()
6. 訪問和操作影象畫素
OpenCV中影象矩陣的順序是B、G、R。可以直接通過座標位置訪問和操作影象畫素。
import cv2
img = cv2.imread("01.jpg")
numb = img[50,100]
print numb
img[50,100] = (0,0,255)
cv2.imshow("img",img)
cv2.waitKey()
分開訪問影象某一通道畫素值也炒雞方便:
import cv2
img = cv2.imread("01.jpg")
img[0:100,100:200,0] = 255
img[100:200,200:300,1] = 255
img[200:300,300:400,2] = 255
cv2.imshow("img",img)
cv2.waitKey()
嗯,不得不說Python是一個很神奇的存在。
Python中,更改影象某一矩形區域的畫素值也很方便:
import cv2
img = cv2.imread("01.jpg")
img[0:50,1:100] = (0,0,255)
cv2.imshow("img",img)
cv2.waitKey()
7. 影象三通道分離和合並
分離影象通道可以使用cv2中的split函式,合併使用merge函式。
import cv2
img = cv2.imread("01.jpg")
b , g , r = cv2.split(img)
# b = cv2.split(img)[0]
# g = cv2.split(img)[1]
# r = cv2.split(img)[2]
merged = cv2.merge([b,g,r])
cv2.imshow("Blue",b)
cv2.imshow("Green",g)
cv2.imshow("Red",r)
cv2.imshow("Merged",merged)
cv2.waitKey()
8. 在影象上輸出文字
使用putText函式在圖片上輸出文字,函式原型:
putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)
- img: 影象
- text:要輸出的文字
- org: 文字的起點座標
- fontFace: 字型
- fontScale: 字型大小
- color: 字型顏色
- thickness: 字圖加粗
import cv2
img = cv2.imread("01.jpg")
cv2.putText(img,"Print some text to img",(100,100),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255))
cv2.imshow("img",img)
cv2.waitKey()
9. 影象縮放
縮放使用cv2.resize()函式,resize函式裡的size第一個是寬(列),第二個是高(行)。
import cv2
img = cv2.imread("01.jpg")
cv2.imshow("img",img)
imgg = cv2.resize(img,(300,100))
cv2.imshow("imgg",imgg)
cv2.waitKey()
相關推薦
OpenCv-Python 影象處理基本操作
1. 圖片載入、顯示和儲存import cv2 img = cv2.imread("01.jpg") imgGrey = cv2.imread("01.jpg",0) cv2.imshow("img"
opencv影象處理基本操作addWeighted
beta = ( 1.0 - alpha ); addWeighted( src1, alpha, src2, beta, 0.0, dst); 1、src1,輸入圖片1, 2、alpha,圖片1的融合比例 3、src2,輸入圖片2 4、beta,圖片2的融合比
opencv影象處理基本操作_直方圖比較
compareHist(hist_base, hist_test1, CV_COMP_CORREL);//相關性比較 compareHist(hist_base, hist_test1, CV_COMP_CHISQR);//卡方比較 compareHist(hist_base
opencv影象處理基本操作goodFeaturesToTrack
goodFeaturesToTrack(gray_src, corners, max_corners, qualityLevel, minDistance, Mat(), blockSize=3, useHarris, k); 第一個引數src:8位或32位單通道灰
opencv影象處理基本操作cornerEigenValsAndVecs
void cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv,int block_size, int aperture_size=3 ) image 輸入影象. eigenvv 儲存結果的陣列。必須
MATLAB數字影象處理基本操作函式
影象讀取:I = imread('mao.jpg'); 影象顯示:imshow(I) 彩色轉灰度:I = rgb2gray(I); 影象縮放:X1 = imresize(I,2);%放大兩倍 影象旋轉:B = imrotate(A,angle); 插值: 1、最
opencv+Python影象處理進階教程學習總結記錄(一)
教程:2 opencv+python影象處理進階 講解老師:賈志剛 1.1 進階主要內容概述:影象卷積與應用,直方圖應用,模板匹配,影象金字塔 1.2 模糊與卷積原理 上圖顯示為一維和二維的均值卷積示例 相關Api : blur 程式碼示例 import c
影象處理入門——matlab數字影象處理基本操作
環境:mac os 11.7 上 matlab2015 1.基本讀入,讀出操作 I=imread('lena.jpg') %讀入當前工作目錄下lena圖 imshow(I) %顯示讀入影象 imwrite(I,'/Users/zhouhan
OpenCV-Python 影象處理(二):影象的讀取、顯示與儲存
說明: 本系列主要是學習OpenCV-Python文件的個人筆記。 很少有理論的敘述,都是函式名、引數描述、作用、應用場景、程式碼、效果圖。簡單明瞭,即學即用。 目標 學會讀取、顯示、儲存單張影象 對應的函式分佈為:cv2.imread() ,
【影象處理】OpenCV+Python影象處理入門教程(四)幾何變換
這篇隨筆介紹使用OpenCV進行影象處理的第四章 幾何變換。 4 幾何變換 影象的幾何變換是指將一幅影象對映到另一幅影象內。有縮放、翻轉、仿射變換、透視、重對映等操作。 4.1
【影象處理】OpenCV+Python影象處理入門教程(五)閾值處理
這篇隨筆介紹使用OpenCV進行影象處理的第五章 閾值處理。 5 閾值處理 閾值是指畫素到達某臨界值。閾值處理表示畫素到達某臨界值後,對該畫素點進行操作和處理。 例如:設定一幅影象素閾值為200,則圖片中所有大於200的畫素點設定為2
openCV Python 學習筆記(一)影象的基本操作
Python的版本是Python3.6,openCV使用的是cv2 例圖 一、影象的讀取、顯示和儲存 讀取影象:cv2.imread(filename,flags) 該函式有兩個引數,第一個引數是圖
Python影象處理的基本操作(一)
1.安裝PIL:Python 影象處理庫 2.基本操作 利用PIL中的函式,我們可以從大多數影象格式的檔案中讀取資料,然後寫入最常見的影象格式檔案中。PIL中最重要的模組為Image。要讀取一幅影
Python 影象處理 OpenCV (2):畫素處理與 Numpy 操作以及 Matplotlib 顯示影象
![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) ## 普通
opencv--影象的基本操作【2】
1、影象的表示 1.1、數字影象 一副尺寸為 M × N 的影象可以用一個 M × N 的矩陣來表示,矩陣元素的值表示這個位置上的畫素的亮度,一般來說畫素值越大表示該點越亮。 如圖影象,我們看到的是 Lena 的頭像,但是計算機看來,這副影象只是一堆亮度各異的點。 圖中白色圓圈
Python對影象的基本操作
(1)cv2方式 # -*- coding: utf-8 -*- """ Created on Thu Nov 29 14:19:53 2018 @author: cz """ from PIL import Image import cv2 import matplotlib.pyplot
OpneCV之影象的基本操作:形狀、通道分離/合併、影象混合、相加、位操作——python實現
一、讀入圖片獲得畫素點的畫素值、改變畫素值、改變單個通道畫素值、獲得影象的行、列、影象資料型別、畫素點、ROI區域. import cv2 import numpy as np #讀取一個彩色影象 img = cv2.imread('C:/Users/NWPU/Desktop/1.jpg')
python進階—OpenCV之影象處理(二)
文章目錄 影象形態變換 影象的腐蝕 影象的膨脹 影象的開操作 影象的閉操作 影象的形態學梯度 影象的頂帽操作 影象的黑帽操作 影象的梯度(Image Gradients) So
python進階—OpenCV之影象處理(一)
文章目錄 顏色空間轉換 RGB色彩空間 HSV色彩空間 YUV色彩空間 簡單的物體跟蹤示例 HSV空間目標閾值選取 影象幾何變換 影象的縮放 影象的位移 影象的旋轉 影
Opencv--形態學影象處理--膨脹與腐蝕,開操作與閉操作
一、理論與概念講解——從現象到本質 1.1 形態學概述 形態學(morphology)一詞通常表示生物學的一個分支,該分支主要研究動植物的形態和結構。而我們影象處理中指的形態學,往往表示的是數學形態學。下面一起來了解數學形態學的概念。 數學形態學(M