真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合-創(chuàng)新互聯(lián)

這篇文章主要介紹了python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站是專業(yè)的網站建設公司,提供網站建設,網站制作,網站設計等網站開發(fā)一體化解決方案;包括H5響應式網站,小程序設計,網站定制,企業(yè)網站建設,商城網站建設,響應式網站建設,建網站,PHP網站建設,軟件開發(fā),軟文發(fā)布平臺,網站營銷。歡迎做網站的企業(yè)前來合作洽談,創(chuàng)新互聯(lián)建站將竭誠為您服務!圖像邊框的實現(xiàn)
圖像邊框設計的主要函數

cv.copyMakeBorder()——實現(xiàn)邊框填充
主要參數如下:

  • 參數一:源圖像——如:讀取的img

  • 參數二——參數五分別是:上下左右邊的寬度——單位:像素

  • 參數六:邊框類型:

  • cv.BORDER_CONSTANT——cv.BORDER_REPLICATE——cv.BORDER_REFLECT——cv.BORDER_WRAP——cv.BORDER_REFLECT_101——cv.BORDER_TRANSPARENT——cv.BORDER_REFLECT101——cv.BORDER_DEFAULT——cv.BORDER_ISOLATED

  • 參數七——只在邊框類型選擇borderType == BORDER_CONSTANT,才設置,意為邊框值

邊框類型的說明:

  • BORDER_CONSTANT:意為添加指定顏色的邊框——由value值確定:為list

  • 其它參數:(可根據需要調制,不過一般前兩個用的多一些)

代碼實例

import cv2 as cv
import numpy as np
if __name__ == "__main__":
 img = cv.imread('./imag_in_save/open_class.png')
 cv.namedWindow('imag', cv.WINDOW_NORMAL)
 cv.resizeWindow('imag', 500, 500)
 img = cv.copyMakeBorder(img, 20, 20, 20, 20, cv.BORDER_CONSTANT, value=[2, 83, 13]) # 添加邊框
 cv.imshow('imag', img)
 cv.waitKey(0)
 cv.destroyAllWindows()

效果

python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合

圖像混合的實現(xiàn)
圖像混合實現(xiàn)的主要函數

cv.addWeighted()——實現(xiàn)圖像的混合
它的工作原理采用的是一個簡單權重公式:g(x)=(1?α)f0(x)+αf1(x)

  • 第一個參數為一張圖象,緊跟著第二個參數為第一張圖片的權重(0~1)也就是公式里的(1 - α)

  • 第三個參數為另一張需要混合的圖片,同樣的,第四個參數為這張圖片的權重,也就是公式里的(α)

  • 至于第五個參數:每個對應標量的和值——可以設置混合的高光

  • 其它兩個參數:(最后的一個參數單獨用的不是很多,在一些其他處理中用的比較多)

  • dst 輸出數組,其大小和通道數與輸入數組相同(我們一般通過直接返回得到~)

  • dtype 輸出數組的可選深度;當兩個輸入數組的深度相同時,可以將dtype設置為-1,這等效于src1.depth()

代碼實例

import cv2 as cv
import numpy as np


if __name__ == "__main__":
 img1 = cv.imread(r'./2.png', 1) # 讀取彩色圖片
 img2 = cv.imread(r'./3.png', 1)
 cv.namedWindow('imag', cv.WINDOW_NORMAL) # 窗體
 img1 = img1[0: 200, 0: 400] # 截取圖像的指定部分——因為圖像混合需要等大的圖像
 img2 = img2[0: 200, 0: 400]
 img = cv.addWeighted(img1, 0.7, img2, 0.3, 0) # 混合圖片——根據權重

 while True:
 cv.imshow('imag', img) # 顯示當前序列號圖片
 k = cv.waitKey(0) & 0xFF
 if k == 27:
  break
 cv.destroyAllWindows()

效果

python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合

小練習(產生類似幻燈片漸變的效果)

主要思路
  • 首先準備好一系列等大的圖片或者截取一系列相同大小的圖片區(qū)域作為我們的圖像數據

  • 然后將圖像信息,分別拼接到一個list列表中

  • 然后,實現(xiàn)一張一張圖片的顯示,在交換的間隙,實現(xiàn)漸變的效果——也就是圖像混合。

  • 然后就可以欣賞了——不過效果的話,主要看設置的參數吧(當然因為沒有渲染,可能還是有些僵硬)。

代碼示例

import cv2 as cv
import numpy as np

if __name__ == "__main__":
 img_list = [] # 創(chuàng)建一個空序列裝準備顯示的一系列圖片
 counts = 0 # 顯示圖片的序號
 cv.namedWindow('imag', cv.WINDOW_NORMAL) # 窗體
 cv.resizeWindow('imag', 500, 500)
 for i in range(2, 7): # 遍歷圖片,憑借到空數組中——一共5張
 img = cv.imread(f'./imag_in_save/scr/{i}.png') # 用f""實現(xiàn)參數傳入
 img = img[0: 200, 0: 400] # 截取圖像的指定部分——因為圖像混合需要等大的圖像
 img_list.append(img) # 實現(xiàn)圖片添加
 while True:
 cv.imshow('imag', img_list[counts]) # 顯示當前序列號圖片
 k = cv.waitKey(2000) & 0xFF
 counts += 1 # 循環(huán)下一張圖片——0,1,2,3,4有效
 if counts == 5: # 循環(huán)到最后一張圖片后返回到第一張圖片
  counts = 0
 for i in range(0, 10):
  k_f = cv.addWeighted(img_list[counts - 1], 1 - (i * 0.1), img_list[counts], i * 0.1, 0) # 做類似漸變的圖像合成
  # 實現(xiàn)兩張(當前圖片和接下來顯示的圖片)圖片,不同權重的混合——由于照片權重改變來實現(xiàn)漸變
  cv.imshow('imag', k_f) # 顯示混合的圖片
  k = cv.waitKey(120) & 0xFF # 延時和按鍵讀取
  if k == 27: # ESC鍵
  break
 if k == 27:
  break
 cv.destroyAllWindows()

效果(圖片可能不是很明顯,如有需要可以自己添置幾張圖片實現(xiàn)看看)

python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合
python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合

python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合

Python主要用來做什么

Python主要應用于:1、Web開發(fā);2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發(fā);5、游戲開發(fā);6、桌面應用開發(fā)。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!


當前標題:python中opencv怎么實現(xiàn)圖像邊框添加及圖像混合-創(chuàng)新互聯(lián)
網站鏈接:http://weahome.cn/article/epjdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部