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通过鼠标点击图片获取该点坐标2,划分多个区域
opencv-python基础用法详细代码-图片加载-ROI-边缘滤波-二值化-轮廓提取-膨胀腐蚀等