opencv-python两张图片填充,指定区域替换其他图片

Posted zzg1097940918

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv-python两张图片填充,指定区域替换其他图片相关的知识,希望对你有一定的参考价值。

我们现在玩一个有趣的代码

就是我现在在特定的区域填充了某个颜色,

 像这样,现在我想在这个填充了其他颜色的区域填充其他图片。比如蚂蚁图片

比如这张图片,我现在的目的就是把这张图片填充在特定区域里面,这样是不是有点意思呢

那么最后的成果图片就是这个样子:

 直接上代码:

import cv2 as cv
import numpy as np
from PIL import Image


img1 = cv.imread('./photo1.png') #读入图片1
img1 = cv.resize(img1,dsize=(300,300))    #将图片1resize到300*300的固定大小
cv.imshow('photo1.png', img1)   #显示输入的图片1
img2 = cv.imread('./photo2.png') #读入图片2
img2 = cv.resize(img2,dsize=(300,300))      #将图片2也调整到固定大小
cv.imshow('photo2.png', img2)   #显示输入的图片2
# cv.waitKey(0)

orininal_h = np.array(img1).shape[0] #获得图片1的高
orininal_w = np.array(img1).shape[1] #获得图片1的宽
img1 = np.array(img1)  #图片1变成numpy类型
img2 = np.array(img2)  #图片2变成numpy类型
for j in range(orininal_h):      #循环遍历所有像素点
    for k in range(orininal_w):
        if img1[j,k,0] == 127:       #如果这个像素点的值为127的话
            img1[j, k, 0] = img2[j, k, 0]   #将img1的图像该位置像素替换成img2
            img1[j, k, 1] = img2[j, k, 1]
            img1[j, k, 2] = img2[j, k, 2]

cv.imshow('result', img1)   #显示输入变换后的图片1
cv.waitKey(0)

 记得点赞加关注,更新不间断!!

以上是关于opencv-python两张图片填充,指定区域替换其他图片的主要内容,如果未能解决你的问题,请参考以下文章

opencv-python提取某种颜色在另一个图层上显示

opencv-python通过鼠标点击图片获取该点坐标2,划分多个区域

opencv-python基础用法详细代码-图片加载-ROI-边缘滤波-二值化-轮廓提取-膨胀腐蚀等

图片拉伸(有保护区域) resizableImageWithCapInsets

用ps怎么把一张图片上区域颜色调为另一种颜色?求高手指点!

IOS h5填充到安全区域