欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python-OpenCV基本操作的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下Python-OpenCV基本操作的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都創(chuàng)新互聯(lián)公司專注于天祝藏族自治企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。天祝藏族自治網(wǎng)站建設(shè)公司,為天祝藏族自治等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

基本屬性

cv2.imread(文件名,屬性) 讀入圖像

屬性:指定圖像用哪種方式讀取文件

cv2.IMREAD_COLOR:讀入彩色圖像,默認參數(shù),Opencv 讀取彩色圖像為BGR模式 ?。?!注意

cv2.IMREAD_GRAYSCALE:讀入灰度圖像。

cv2.imshow(窗口名,圖像文件) 顯示圖像

可以創(chuàng)建多個窗口

cv2.waitKey() 鍵盤綁定函數(shù)

函數(shù)等待特定的幾毫秒,看是否由鍵盤輸入。

cv2.namedWindow(窗口名,屬性) 創(chuàng)建一個窗口

屬性:指定窗口大小模式

cv2.WINDOW_AUTOSIZE:根據(jù)圖像大小自動創(chuàng)建大小

cv2.WINDOW_NORMAL:窗口大小可調(diào)整

cv2.destoryAllWindows(窗口名) 刪除任何建立的窗口

代碼實例:

import cv2
 img=cv2.imread('test.py',cv2.IMREAD_COLOR)
 cv2.namedWindow('image',cv2.WINDOW_NORMAL)
 cv2.imshow('image',img)
 cv2.waitKey(0)
 cv2.destoryAllWindows()

cv2.imwrite(保存圖像名,需保存圖像) 保存圖像

代碼實例:

 import cv2
 img=cv2.imread('test.png',0)
 cv2.imshow('image',img)
 k=cv2.waitKey(0)
 if k==27: #等待 ESC 鍵
  cv2.destoryAllWindows()
 elif k==ord('s') #等待 's' 鍵來保存和退出
  cv2.imwrite('messigray.png',img)
  cv2.destoryAllWindows()

對于圖像的一些操作

0x01. 獲取圖片屬性

import cv2
img=img.imread('test.png')
print img.shape
#(768,1024,3)
print img.size
#2359296 768*1024*3
print img.dtype
#uint8

0x02. 輸出文本

在處理圖片時,將一些信息直接以文字的形式輸出在圖片上

cv2.putText(圖片名,文字,坐標,文字顏色)

0x03. 縮放圖片

實現(xiàn)縮放圖片并保存,在使用OpenCV時常用的操作。cv2.resize()支持多種插值算法,默認使用cv2.INTER_LINEAR,縮小最適合使用:cv2.INTER_AREA,放大最適合使用:cv2.INTER_CUBIC或cv2.INTER_LINEAR。

res=cv2.resize(image,(2*width,2*height),interpolation=cv2.INTER_CUBIC)

或者:

res=cv2.resize(image,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)

此處None本應(yīng)該是輸出圖像的尺寸,因為后邊設(shè)置了縮放因子

0x04. 圖像平移

cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]])

平移就是將圖像換個位置,如果要沿(x,y)方向移動,移動距離為(tx,ty),則需要構(gòu)建偏移矩陣M。

Python-OpenCV基本操作的示例分析

例如 平移圖片(100,50)

 import cv2
 img=cv2.imread('test.png',1)
 rows,cols,channel=img.shape
 M=np.float32([[1,0,100],[0,1,50]])
 dst=cv2.warpAffine(img,M,(cols,rows))
 cv2.imshow('img',dst)
 cv2.waitKey(0)
 cv2.destoryALLWindows()

其中 (cols,rows)代表輸出圖像的大小,M為變換矩陣,100代表x的偏移量,50代表y的偏移量,單位為像素。

0x05. 圖像旋轉(zhuǎn)

OpenCV中首先需要構(gòu)造一個旋轉(zhuǎn)矩陣,通過cv2.getRotationMatrix2D獲得。

import cv2
img=cv2.imread('test.png',0)
rows,cols=img.shape
#第一個參數(shù)為旋轉(zhuǎn)中心,第二個為旋轉(zhuǎn)角度,第三個為旋轉(zhuǎn)后的縮放因子
M=cv2.getRotationMatrix2D((cols/2,rows/2),45,0.6)
#第三個參數(shù)為圖像的尺寸中心
dst=cv2.warpAffine(img,M,(2*cols,2*rows))
cv2.imshow('img',dst)
cv2.waitKey(0)
cv2.destoryALLWindows()

0x06. 仿射變換

在仿射變換中,原圖中所有的平行線在結(jié)果圖像中同樣平行。為了創(chuàng)建偏移矩陣,需要在原圖像中找到三個點以及它們在輸出圖像中的位置。然后OpenCV中提供了cv2.getAffineTransform創(chuàng)建2*3的矩陣,最后將矩陣傳給函數(shù)cv2.warpAffine。

import cv2
import matplotlib.pyplot as plt
import numpy as np
img=cv2.imread('test.png')
rows,cols,ch=img.shape
pts1=np.float32([[50,50],[200,50],[50,200]])
pts2=np.float32([[10,100],[200,50],[100,250]])
M=cv2.getAffineTransform(pts1,pts2)
dst=cv2.warpAffine(img,M,(cols,rows))
plt.subplot(121),plt.imshow(img),plt.title('Input')
plt.subplot(122),plt.imshow(dst),plt.title('Output')
plt.show()

Python-OpenCV基本操作的示例分析

0x07. 透視變換

視角變換,需要一個3*3變換矩陣。在變換前后要保證直線還是直線。構(gòu)建此矩陣需要在輸入圖像中找尋4個點,以及在輸出圖像中對應(yīng)的位置。這四個點中的任意三個點不能共線。變換矩陣OpenCV提供cv2.getPerspectiveTransform()構(gòu)建。然后將矩陣傳入函數(shù)cv2.warpPerspective。

import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread('test.png')
rows,cols,ch=img.shape
pts1=np.float32([[56,65],[368,52],[28,387],[389,390]])
pts2=np.float32([[0,0],[300,0],[0,300],[300,300]])
M=cv2.getPerspectiveTransform(pts1,pts2)
dst=cv2.warpPerspective(img,M,(300,300))
plt.subplot(121),plt.imshow(img),plt.title('Input')
plt.subplot(122),plt.imshow(dst),plt.title('Output')
plt.show()

Python-OpenCV基本操作的示例分析

0x09. 圖像 regions of Interest

有時需要對一副圖像的特定區(qū)域進行操作,ROI使用Numpy索引來獲得的。

import cv2
import numpy as np
import matplotlib.pyplot as plt

image=cv2.imread('test.png')
rows,cols,ch=image.shape
tall=image[0:100,300:700]
image[0:100,600:1000]=tallall
cv2.imshow("image",image)
cv2.waitKey(0)
cv2.destoryALLWindows()

Python-OpenCV基本操作的示例分析

0x10. 通道的拆分/合并處理

有時需要對BGR三個通道分別進行操作。這時需要將BGR拆分成單個通道。同時有時需要把獨立通道的圖片合并成一個BGR圖像。

使用OpenCV庫函數(shù)版本

import cv2
import numpy as np
import matplotlib.pyplot as plt

image=cv2.imread('pitt1.jpg')
rows,cols,ch=image.shape
#拆分通道,cv2.split()是一個比較耗時的操作。只有需要時使用,盡量Numpy
b,g,r=cv2.split(image)
print b.shape
#(768,1024)
#合并通道
image=cv2.merge(b,g,r)

使用Numpy索引版本:

import cv2
import numpy as np
import matplotlib.pyplot as plt

image=cv2.imread('pitt1.jpg')
rows,cols,ch=image.shape
#直接獲取
b=img[:,:,0]

看完了這篇文章,相信你對“Python-OpenCV基本操作的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:Python-OpenCV基本操作的示例分析-創(chuàng)新互聯(lián)
本文來源:http://aaarwkj.com/article2/jscoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、企業(yè)建站、面包屑導航、建站公司、手機網(wǎng)站建設(shè)微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
在线播放亚洲一区二区三区| 不卡视频在线免费观看| 欧美在线观看香蕉视频| 日韩中文字幕专区在线| 四虎免费在线高清观看| 国产国产成人精品久久| 久久久人妻精品一区二区三区四区| 亚洲熟妇亚洲熟妇亚洲熟妇| 欧美日韩一区二区三区四区在线观看 | 国产亚洲精品女人久久久| 中文字幕日本乱码精品久久| 亚洲精品国产熟女av| 中文字幕乱码日韩一区| 日本久久久精品福利视频| 日韩成人大片在线播放| 亚洲综合久久国产一区二区| 91亚洲欧美日韩在线观看| 好吊精品视频在线观看| 最新日本人妻中文字幕| 亚洲国产精品自拍第一页| 国产精品粉嫩在线播放| av天堂五月在线观看| 熟年人妻一区二区三区| 日韩精品人妻一区二区三区蜜桃臀| 亚洲精品视频久久偷拍| 国产91高清在线观看| 精品亚洲一区二区三区| av天堂高清在线观看| 美女呻吟被爽到高潮在线| 加勒比中文字幕日本道| 久久亚洲综合精品少妇| 中文字幕日韩手机在线| 中文字幕在线感觉av| 日韩精品有码在线视频免费观看| 亚洲国产一区二区精品| 中文字幕久久熟女蜜桃| 国产av爆操黑丝美女| 国产午夜激情自拍视频| 亚洲一区二区三区免费在线看| 黑丝美女大战白丝美女| 日本少妇人妻一区二区|