濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > pytho多張圖片的無損拼接的實(shí)現(xiàn)示例

pytho多張圖片的無損拼接的實(shí)現(xiàn)示例

熱門標(biāo)簽:南昌地圖標(biāo)注 百應(yīng)電話機(jī)器人總部 成都呼叫中心外呼系統(tǒng)哪家強(qiáng) 西青語音電銷機(jī)器人哪家好 電梯新時(shí)達(dá)系統(tǒng)外呼顯示e 地圖標(biāo)注與注銷 宿州電話機(jī)器人哪家好 旅游廁所地圖標(biāo)注怎么弄 無錫智能外呼系統(tǒng)好用嗎

導(dǎo)入 python 庫

import matplotlib.pyplot as plt
import skimage.io as io
import numpy as np

查看需要拼接的圖片

因?yàn)楣ぷ餍枰?,所以就不使用昨天晚上的圖片了。
我就拿了兩張截圖作為示例演示。

首先看看拼接前的圖片是什么樣子:

jzg = io.imread('jzg.jpg')   # np.ndarray, [h, w, c], 值域[0, 255], RGB
plt.imshow(jzg)   #查看圖片
plt.show()

解釋說明:“jzg”保存的是numpy的數(shù)組。

lgz = io.imread('lgz.jpg')   # np.ndarray, [h, w, c], 值域[0, 255], RGB
plt.imshow(lgz)
plt.show()


因?yàn)槲沂褂玫氖?jupyter Notebook,所以圖片顯示的不是太清晰。

查看一下圖片的大小和數(shù)組元素的數(shù)據(jù)類型。

print(jzg.shape)   #查看圖片的大小
print(jzg.dtype)   #查看數(shù)組元素?cái)?shù)據(jù)類型
print(lgz.shape)
print(lgz.dtype)

輸出:

(720, 1280, 3)
uint8
(720, 1280, 3)
uint8

(720, 1280, 3)表示的是數(shù)組的大小,物理意義為[h, w, c],分別是圖片的高度h,圖片的寬度w,圖片的通道數(shù)c。

可以看出兩者的大小完全一致,數(shù)組元素的數(shù)據(jù)類型為“uint8”。

查看數(shù)組中元素的值域:

print([jzg.min(), jzg.max()])

輸出:

[0, 255]

橫向拼接

創(chuàng)建拼接用的數(shù)組:

pj1 = np.zeros((720,1280 + 1280,3))   #橫著拼接
pj1[:,:1280,:] = jzg.copy()   #圖片jzg在左
pj1[:,1280:,:] = lgz.copy()   #圖片lgz在右
print(pj1.dtype)   #查看數(shù)組元素類型

輸出:

float64

可以看出拼接后的數(shù)據(jù)類型不一樣了,所以要改一下,不然顯示的就是錯(cuò)誤的。

pj1=np.array(pj1,dtype=np.uint8)   #將pj1數(shù)組元素?cái)?shù)據(jù)類型的改為"uint8"
plt.imshow(pj1)   #查看拼接情況
plt.show()

保存拼接后的圖片

將拼接后的圖片保存在當(dāng)前目錄下,也可以改為其它的路徑。

io.imsave('pj1.jpg', pj1)   #保存拼接后的圖片

總結(jié)

橫向拼接的代碼總結(jié)如下:

import matplotlib.pyplot as plt
import skimage.io as io
import numpy as np

jzg = io.imread('jzg.jpg')   # np.ndarray, [h, w, c], 值域(0, 255), RGB
plt.imshow(jzg)   #查看圖片
plt.show()

lgz = io.imread('lgz.jpg')   # np.ndarray, [h, w, c], 值域(0, 255), RGB
plt.imshow(lgz)
plt.show()

print(jzg.shape)   #查看圖片的大小
print(jzg.dtype)   #查看數(shù)組元素?cái)?shù)據(jù)類型
print(lgz.shape)
print(lgz.dtype)

pj1 = np.zeros((720,1280 + 1280,3))   #橫向拼接
pj1[:,:1280,:] = jzg.copy()   #圖片jzg在左
pj1[:,1280:,:] = lgz.copy()   #圖片lgz在右
print(pj1.dtype)   #查看數(shù)組元素類型

pj1=np.array(pj1,dtype=np.uint8)   #將pj1數(shù)組元素?cái)?shù)據(jù)類型的改為"uint8"

plt.imshow(pj1)   #查看拼接情況
plt.show()

io.imsave('pj1.jpg', pj1)   #保存拼接后的圖片

縱向拼接

當(dāng)然,可以橫向拼接自然也可以縱向拼接,只需將拼接用的數(shù)組改為如下:

pj2 = np.zeros((720 + 720,1280,3))   #橫向拼接

將拼接操作改為:

pj1[:720,:,:] = jzg.copy()   #圖片jzg在上
pj1[720:,:,:] = lgz.copy()   #圖片lgz在下

然后其他步驟都一樣。

圖片間距

有些時(shí)候要求要有縫拼接,這時(shí)候就將拼接用的數(shù)組橫向或縱向變大,空白區(qū)域使用“0”或者“255”填充(我不知道“0”和“255”中,哪個(gè)代表白色,哪個(gè)代表黑色,需要的就自己去實(shí)驗(yàn)或者查詢一下)。

到此這篇關(guān)于pytho多張圖片的無損拼接的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)pytho圖片無損拼接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python圖像處理之圖片拼接和堆疊案例教程
  • python實(shí)現(xiàn)碑帖圖片橫向拼接
  • 有趣的Python圖片制作之如何用QQ好友頭像拼接出里昂
  • python實(shí)現(xiàn)拼接圖片
  • python使用PIL剪切和拼接圖片
  • python實(shí)現(xiàn)圖片橫向和縱向拼接
  • python實(shí)現(xiàn)多張圖片拼接成大圖
  • Python實(shí)現(xiàn)圖片拼接的代碼
  • Python實(shí)現(xiàn)拼接多張圖片的方法

標(biāo)簽:西安 濰坊 七臺(tái)河 贛州 辛集 雅安 渭南 許昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pytho多張圖片的無損拼接的實(shí)現(xiàn)示例》,本文關(guān)鍵詞  pytho,多張,圖片,的,無損,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《pytho多張圖片的無損拼接的實(shí)現(xiàn)示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于pytho多張圖片的無損拼接的實(shí)現(xiàn)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    灯塔市| 余干县| 宁德市| 兰州市| 泸水县| 措美县| 竹溪县| 辽宁省| 清水县| 恩平市| 鄂尔多斯市| 繁昌县| 鄯善县| 洪泽县| 麻栗坡县| 绩溪县| 栾城县| 武城县| 平塘县| 合水县| 台前县| 钟山县| 营山县| 米泉市| 偏关县| 瓦房店市| 昌邑市| 邵武市| 文成县| 东台市| 双江| 台南县| 西林县| 濮阳县| 武平县| 东乡| 龙山县| 兴化市| 临清市| 横山县| 襄垣县|