python opencv图像叠加/重合设置随意位置
Song •
4950 次浏览 •
0个评论 •
2019年01月15日
opencv图像叠加主要有三种方式:cv2.add()
,cv2.addWeighted()
和按位运算
,今天在使用图片叠加的过程中发现无法改变叠加图片的位置,后来查看具体文档才发现具体解决办法,总结一下。
cv2.add()
,cv2.addWeighted()
和按位运算
在python OpenCV图像上的算术运算中都有介绍,我们主要讲一下按位运算
:
import cv2
import numpy as np
img1=cv2.imread('45.jpg')
img2=cv2.imread('messigray.png')
rows,cols,channels = img2.shape
roi = img1[0:rows,0:cols]
img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
ret,mask = cv2.threshold(img2gray,175,255,cv2.THRESH_BINARY)
mask_inv = cv2.bitwise_not(mask)
img1_bg = cv2.bitwise_and(roi,roi,mask=mask)
img2_fg = cv2.bitwise_and(img2,img2,mask=mask_inv)
dst = cv2.add(img1_bg,img2_fg)
img1[0:rows,0:cols] =dst
cv2.imshow('res',img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
上方是官方的Demo
,我在网上查询很久没有找到如何改标添加图片的文字,后续查看【python OpenCV 中文文档】图像的基本操作找到了解决办法,其实你可以改标ROI
,但是对应场刊也要改,否则出现如下错误。
ValueError: could not broadcast input array from shape (600,1000,3) into shape (850,1000,3)
具体方法如下,上方官方代码的17
行修改移动位置,你可以改变图像叠加的任意位置:
img1[100:rows+100,100:cols+100] =dst
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论