python+opencv實現(xiàn)堆疊圖片
更新時間:2022年04月27日 10:59:19 作者:吳天德少俠
這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)堆疊圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python+opencv實現(xiàn)堆疊圖片的具體代碼,供大家參考,具體內(nèi)容如下
# import cv2
# import numpy as np
#
# img = cv2.imread('../images/full.jpg')
#
# img_hor = np.hstack((img,img))
# img_ver = np.vstack((img,img))
#
# cv2.imshow('Horizontal',img_hor)
# cv2.imshow('Vertical',img_ver)
#
# cv2.waitKey(0)
?
import cv2
import numpy as np
?
?
def stackImages(scale,imgArray):
? ? rows = len(imgArray)
? ? cols = len(imgArray[0])
? ? rowsAvailable = isinstance(imgArray[0], list)
? ? width = imgArray[0][0].shape[1]
? ? height = imgArray[0][0].shape[0]
? ? if rowsAvailable:
? ? ? ? for x in range ( 0, rows):
? ? ? ? ? ? for y in range(0, cols):
? ? ? ? ? ? ? ? if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]:
? ? ? ? ? ? ? ? ? ? imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)
? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)
? ? ? ? ? ? ? ? if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)
? ? ? ? imageBlank = np.zeros((height, width, 3), np.uint8)
? ? ? ? hor = [imageBlank]*rows
? ? ? ? hor_con = [imageBlank]*rows
? ? ? ? for x in range(0, rows):
? ? ? ? ? ? hor[x] = np.hstack(imgArray[x])
? ? ? ? ver = np.vstack(hor)
? ? else:
? ? ? ? for x in range(0, rows):
? ? ? ? ? ? if imgArray[x].shape[:2] == imgArray[0].shape[:2]:
? ? ? ? ? ? ? ? imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale)
? ? ? ? ? ? else:
? ? ? ? ? ? ? ? imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)
? ? ? ? ? ? if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)
? ? ? ? hor= np.hstack(imgArray)
? ? ? ? ver = hor
? ? return ver
?
img = cv2.imread('../images/lanbojini.jpg')
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
?
imgStack = stackImages(0.5,([img,imgGray,img],[img,img,img]))
?
# imgStack = stackImages(0.5,([img,imgGray,img],[img,img,img]))
?
# imgHor = np.hstack((img,img))
# imgVer = np.vstack((img,img))
#
# cv2.imshow("Horizontal",imgHor)
# cv2.imshow("Vertical",imgVer)
cv2.imshow("ImageStack",imgStack)
?
cv2.waitKey(0)效果:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python?OpenCV超詳細講解調(diào)整大小與圖像操作的實現(xiàn)
- Python?OpenCV超詳細講解讀取圖像視頻和網(wǎng)絡攝像頭
- Python中使用Opencv開發(fā)停車位計數(shù)器功能
- 關(guān)于python3?opencv?圖像二值化的問題(cv2.adaptiveThreshold函數(shù))
- Python?OpenCV實現(xiàn)圖形檢測示例詳解
- Python?OpenCV實現(xiàn)3種濾鏡效果實例
- python?OpenCV?圖像通道數(shù)判斷
- 巧妙使用python?opencv庫玩轉(zhuǎn)視頻幀率
- python?使用OpenCV進行曝光融合
相關(guān)文章
利用Python批量識別電子賬單數(shù)據(jù)的方法
這篇文章主要介紹了利用Python批量識別電子賬單數(shù)據(jù)的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
使用Python在Excel中實現(xiàn)自動查找并替換數(shù)據(jù)
隨著項目的進展,需要經(jīng)常在Excel業(yè)務表格中查找及替換數(shù)據(jù),已保證數(shù)據(jù)與實際項目進度一致,手動一個一個查找,然后替換,效率太低,還容易遺漏,現(xiàn)在我們來試試用Python自動完成查找及替換吧,需要的朋友可以參考下2023-12-12
python調(diào)用Matplotlib繪制分布點并且添加標簽
這篇文章主要為大家詳細介紹了python調(diào)用Matplotlib繪制分布點并且添加標簽的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Python數(shù)據(jù)分析之?Matplotlib?折線圖繪制
這篇文章主要介紹了Python數(shù)據(jù)分析之?Matplotlib?折線圖繪制,在數(shù)據(jù)分析中,數(shù)據(jù)可視化也非常重要,下文通過數(shù)據(jù)分析展開對折線圖的繪制,需要的小伙伴可以參考一下2022-05-05

