中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

opencv-python圖像處理怎么安裝

發布時間:2022-01-05 11:09:35 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

這篇文章主要講解了“opencv-python圖像處理怎么安裝”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“opencv-python圖像處理怎么安裝”吧!

一、安裝opencv

關于opencv的安裝,如果是windows系統下使用pycharm,那么直接在在終端使用pip命令或者點擊設置-python解釋器輸入opencv-python即可

opencv-python圖像處理怎么安裝

如果使用的是conda,那也可以使用pip命令或者conda install 安裝
在linux下的話更加簡單。而且也會少很多無緣無故的bug,推薦使用linux系統。linux下使用終端輸入pip或者pip3 install opencv-python即可,前提是已經安裝了python并且設置好了路徑變量。

二、 opencv使用

想要使用opencv,必須在代碼開頭導入opencv的包,這里和安裝時候的名字不一樣,使用命令:
import cv2
導入包。并且需要安裝matplotlib和numpy。
1、 圖片的讀取

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

括號內是圖片文件的名字,如果代碼與圖片在同一目錄下可以這樣做,但是如果不在同一目錄下,就需要包含圖片文件的完整路徑。使用該語句讀取圖片,將會返回一個ndarray類型的矩陣(行數,列數,通道數)
顯示剛才讀取的圖片:
注意:opencv讀取到的圖片格式為BGR格式。

cv2.imshow("name", img)
# 等待時間, 毫秒級, 0表示任意鍵終止
cv2.waitKey(0)

2、獲取攝像頭的視頻流

def video_get():
    capture = cv.VideoCapture(0)
    # 保存視頻流的每一幀
    while True:
        ret, frame = capture.read()
        # 翻轉圖像,原圖像是左右顛倒的
        frame = cv.flip(frame, 1)
        cv.imshow("video", frame)
        c = cv.waitKey(50)
        if c == 27:
            break

3、保存獲取到的圖像

cv.imwrite(想要保存的文件路徑, 圖像文件)

4、灰度圖轉化
讀取時直接讀取為灰度圖:

img = cv2.imread(path, cv.IMREAD_GRAYSCALE)

讀取時是彩色,轉化為灰度圖

img = cv.imread("car_red.jpg")
img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow("ing", img)
cv.waitKey(0)
cv.destroyAllWindows()

5、獲取圖像的部分區域
由于讀取到的圖片是ndarray類型的,因此可以使用切片操作來獲取圖像的某一部分:

roi = img[ 起始:結束, 起始:結束]

6、將彩色圖片的通道拆分與合并
因為彩色圖片是三通道的,假設圖片尺寸為128x128,那么他就包含三個128*128的顏色矩陣

img = cv.imread("car_red.jpg")
cv.imshow("img", img)
# 注意格式為BGR
b, g, r = cv.split(img)
# 通道合并,注意矩陣的順序,這樣合成的圖片為BGR格式
img = cv.merge((b, g ,r))
cv.imshow("img1", img)
cv.waitKey(0)
cv.destroyAllWindows()

三通道提取出來之后,每個通道其實如果顯示的話,就是單獨的灰度圖,因為圖片的通道數變為1了。
想要顯示為RGB某一顏色,可以使用切片將其他顏色通道變為0

7、邊界填充
將圖片進行邊界填充操作:

cv.copyMakeBorder(img, 50, 50, 50, 50, borderType=cv.BORDER_REFLECT)

其參數為,圖片源, 上下左右的填充距離(50,50,50,50), borderType參數表示填充方法。
BORDER_REPLICATE: 復制法,復制圖片最邊緣像素
BORDER_REFLECT:反射法,對感興趣的圖像像素在兩邊進行復制
BRDER_REFLECT_101:反射法,以最邊緣像素為軸
BORDER_WRAP:外包裝法
BORDER_CONSTANT:常量法,常數值填充
記得在函數前定義一個變量接受該函數的返回值。
8、圖像尺寸更改
使用resize函數對圖片尺寸進行修改

red = cv.imread("car_red.jpg")
# 括號內的元組表示的是圖片的長和寬,也就是其對于矩陣的列和行
red = cv.resize(red, (475, 245))

圖片的尺寸我們使用長和寬來表示,矩陣的大小使用的是行和列,對應的圖片的長就對應與矩陣的列,因此要注意輸入的尺寸到底是圖片尺寸還是矩陣尺寸,對于方陣來說沒有區別,但是對于其他矩陣來說影響很大。
還有一種方法就是不指定其大小,通過指定x、y軸的擴展倍數來完成圖像更改。

red = cv.resize(red,  (0, 0),fx=3, fy=4 )

9、圖像融合
想要矩陣能相加,那么其必須是等尺寸的,在上面將兩圖處理為相同大小的圖片之后,就能對其進行圖像融合處理操作了。

green = cv.imread("car_green.jpg")
print(green.shape)
red = cv.imread("car_red.jpg")
red = cv.resize(red, (475, 245))
print(red.shape)
res = cv.addWeighted(red, 0.4, green, 0.6, 0)
cv.imshow("res", res)
cv.waitKey(0)
cv.destroyAllWindows()

圖像融合其本質就是矩陣相加,上面的函數可以看作一個公式:
F = ared + bgreen + c
其中a = 0.4 b = 0.6, c = 0這些系數都是我們可以自己進行設置的
處理后的圖片如下:

opencv-python圖像處理怎么安裝

感謝各位的閱讀,以上就是“opencv-python圖像處理怎么安裝”的內容了,經過本文的學習后,相信大家對opencv-python圖像處理怎么安裝這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平原县| 文安县| 固安县| 炉霍县| 长海县| 镶黄旗| 故城县| 靖西县| 南召县| 巴林左旗| 平谷区| 林西县| 汶川县| 菏泽市| 河东区| 宜黄县| 乌鲁木齐市| 抚州市| 类乌齐县| 盐城市| 辰溪县| 石林| 新巴尔虎右旗| 沾益县| 巴楚县| 锡林郭勒盟| 石楼县| 泰州市| 峡江县| 洞口县| 内江市| 黑水县| 保康县| 鸡西市| 新竹市| 碌曲县| 绿春县| 罗源县| 环江| 衡阳市| 华亭县|