運(yùn)行環(huán)境為jupyter notebook,已安裝python,opencv-python(4.5.3.56) 一、
1.imread函數(shù):讀取數(shù)字圖像 cv2.imread(path_of_image, intflag) 函數(shù)參數(shù)一: 需要讀入圖像的完整的路徑 函數(shù)參數(shù)二: 標(biāo)志以什么形式讀入圖像,可以選擇一下方式: · cv2.IMREAD_COLOR: 加載彩色圖像。任何圖像的透明度都將被忽略。它是默認(rèn)標(biāo)志 · cv2.IMREAD_GRAYSCALE: 以灰度模式加載圖像 · cv2.IMREAD_UNCHANGED: 保留讀取圖片原有的顏色通道 · 1 : 等同于cv2.IMREAD_COLOR · 0 : 等同于cv2.IMREAD_GRAYSCALE · -1 : 等同于cv2.IMREAD_UNCHANGED
2.imshow函數(shù):窗口中顯示圖像,也可以通過imutils模塊調(diào)整顯示圖像的窗口的大小 cv2.imshow(windows_name, image) 函數(shù)參數(shù)一: 窗口名稱(字符串) 函數(shù)參數(shù)二: 圖像對(duì)象,類型是numpy中的ndarray類型 3.imwrite函數(shù):將圖像保存到本地 cv2.imwrite(image_filename, image)
函數(shù)參數(shù)一: 保存的圖像名稱(字符串) 函數(shù)參數(shù)二: 圖像對(duì)象,類型是numpy中的ndarray類型 4.destroyWindow函數(shù):銷毀窗口 cv2.destroyWindow(windows_name) | cv2.destroyAllWindows() (1) time_of_milliseconds > 0 : 此時(shí)time_of_milliseconds表示時(shí)間,單位是毫秒,含義表示等待 time_of_milliseconds毫秒后圖像將自動(dòng)銷毀 (2)(無法實(shí)現(xiàn)) time_of_milliseconds <= 0 : 此時(shí)圖像窗口將等待一個(gè)鍵盤敲擊,接收到指定的鍵盤敲擊便會(huì)進(jìn)行窗口銷毀 


二、 5.圖像色彩空間變換函數(shù)cv2.cvtColor cv2.cvtColor(input_image, flag) 參數(shù)一: input_image表示將要變換色彩的圖像ndarray對(duì)象 參數(shù)二: 表示圖像色彩空間變換的類型,以下介紹常用的兩種: · cv2.COLOR_BGR2GRAY: 表示將圖像從BGR空間轉(zhuǎn)化成灰度圖,最常用 · cv2.COLOR_BGR2HSV: 表示將圖像從RGB空間轉(zhuǎn)換到HSV空間 圖像的顏色主要是由于圖像受到外界光照影響隨之產(chǎn)生的不同顏色信息
因此在我們做圖像特征提取和識(shí)別過程時(shí),我們要的是圖像的梯度信息 因此我們會(huì)在做圖像特征提取和識(shí)別前將圖像轉(zhuǎn)化為灰度圖
三、繪制自定義數(shù)字圖像 先介紹一下它們的公共參數(shù): · img: 表示需要進(jìn)行繪制的圖像對(duì)象ndarray · color: 表示繪制幾何圖形的顏色,采用BGR即上述說的(B、G、R) · thickness: 表示繪制幾何圖形中線的粗細(xì),默認(rèn)為1,對(duì)于圓、橢圓等封閉圖像取-1時(shí)是填充圖形內(nèi)部
· lineType : 表示繪制幾何圖形線的類型,默認(rèn)8-connected線是光滑的,當(dāng)取cv2.LINE_AA時(shí)線呈現(xiàn)鋸齒狀 (1) cv2.line函數(shù):直線繪制函數(shù), 函數(shù)官方定義為: cv2.line(image, starting, ending, color, thickness, lineType) 參數(shù)image、color、thickness、lineType分別是上述公共定義,參數(shù)starting、ending分別表示線的起點(diǎn)像素坐標(biāo)、終點(diǎn)像素坐標(biāo) (2) cv2.rectangle函數(shù):長(zhǎng)方形繪制函數(shù),函數(shù)官方定義: cv2.rectangle(image, top-left, bottom-right, color, thickness, lineType) 參數(shù)image、color、thickness、lineType分別是上述公共定義,參數(shù)top-left、bottom-right分別表示長(zhǎng)方形的左上角像素坐標(biāo)、右下角像素坐標(biāo) (3) cv2.circle函數(shù):圓形繪制函數(shù),官方定義函數(shù)為: cv2.circle(image, center, radius, color, thickness, lineType) 參數(shù)image、color、thickness、lineType分別是上述公共定義,參數(shù)center、radius分別表示圓的圓心像素坐標(biāo)、圓的半徑長(zhǎng)度,圓繪制函數(shù)中當(dāng)參數(shù)thickness = -1 時(shí)繪制的是實(shí)心圓,當(dāng)thickness >= 0 時(shí)繪制的是空心圓 (4) cv2.ellipse函數(shù):橢圓繪制函數(shù),官方定義為: cv2.circle(image, center, (major-axis-length, minor-axis-length), angle, startAngle, endAngle, color, thickness, lineType) 橢圓的參數(shù)較多,首先參數(shù)image、color、thickness、lineType分別是上述公共定義,橢圓繪制函數(shù)中當(dāng)參數(shù)thickness = -1 時(shí)繪制的是實(shí)心橢圓,當(dāng)thickness >= 0 時(shí)繪制的是空心橢圓,其他參數(shù)如下 · center: 表示橢圓中心像素坐標(biāo) · major-axis-length: 表示橢圓的長(zhǎng)軸長(zhǎng)度 · minor-axis-length: 表示橢圓的短軸長(zhǎng)度 · angle: 表示橢圓在逆時(shí)針方向旋轉(zhuǎn)的角度 · startAngle: 表示橢圓從主軸向順時(shí)針方向測(cè)量的橢圓弧的起始角度 · endAngle: 表示橢圓從主軸向順時(shí)針方向測(cè)量的橢圓弧的終止時(shí)角度 (5) cv2.polylines函數(shù):多邊形繪制函數(shù),官方定義函數(shù)為: cv2.polylines(image, [point-set], flag, color, thickness, lineType) 參數(shù)image、color、thickness、lineType分別是上述公共定義,其他參數(shù)如下: · [point-set]: 表示多邊形點(diǎn)的集合,如果多邊形有m個(gè)點(diǎn),則便是一個(gè)m12的數(shù)組,表示共m個(gè)點(diǎn) · flag: 當(dāng)flag = True 時(shí),則多邊形是封閉的,當(dāng)flag = False 時(shí),則多邊形只是從第一個(gè)到最后一個(gè)點(diǎn)連線組成的圖像,沒有封閉 

四、 對(duì)圖像取反


2.對(duì)圖像像素線性變換 

|