您好,登錄后才能下訂單哦!
這篇文章主要講解了python opencv如何把一張圖片嵌入到另一張圖片上,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
python opencv把一張圖片嵌入(疊加)到另一張圖片上
1、背景:
最近做了個(gè)煙火生成系統(tǒng)的界面設(shè)計(jì),需要將煙霧圖片嵌入到任意一張圖片中,因此需要python opencv把一張圖片嵌入(疊加)到另一張圖片上的知識。(圖中紅框最終生成圖片沒有的,只是界面有這個(gè)功能)
2、代碼
resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0
resized0是小圖
resized1是大圖,其他參數(shù)是左上點(diǎn)和右下點(diǎn)
3、效果圖
工程中部分代碼
這個(gè)是截取我pyqt5中部分代碼,具體實(shí)現(xiàn),可以借鑒一下
resized1 = cv.imread('temp0.jpg')#讀取最開始讀入的圖片 #cv.imshow('resized1-0.jpg', resized1) #cv.waitKey(10) img = cv.imread('output.jpg')#讀取生成的煙霧圖 resized0 = cv.resize(img, (weight, height), interpolation=cv.INTER_AREA) #cv.imshow('resized0.jpg', resized0) #cv.waitKey(10) #嵌入圖片,resized1是原圖,resized0是煙霧圖片,中括號內(nèi)為嵌入的坐標(biāo) resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0 #cv.imshow('resized1.jpg', resized1) cv.imwrite('temp1.jpg', resized1) resized2 = resized1 # 將最終生成的圖片復(fù)制到全局變量中,在保存按鈕中進(jìn)行保存 #cv.imwrite('resized2.jpg', resized2) global final_picture # 此處聲明該圖片為全局變量 final_picture=resized2 #將最終生成的圖片復(fù)制到全局變量中,在保存按鈕中進(jìn)行保存 #cv.imwrite('final_picture0.jpg', final_picture) #cv.waitKey(10) height, width, bytesPerComponent = resized1.shape #取彩色圖片的長、寬、通道 bytesPerLine = 3 * width cv.cvtColor(resized1, cv.COLOR_BGR2RGB, resized1) QImg = QImage(resized1.data, width, height, bytesPerLine,QImage.Format_RGB888) pixmap = QPixmap.fromImage(QImg) self.label_ShowPicture.setPixmap(pixmap) #self.label_ShowPicture.setPixmap(QPixmap("resized1.jpg")) self.label_ShowPicture.setCursor(Qt.CrossCursor) print("已經(jīng)嵌入")
看完上述內(nèi)容,是不是對python opencv如何把一張圖片嵌入到另一張圖片上有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。