python opencv 颜色替换 opencv改变图像颜色 目标 • 学习如何对图像颜色空间转换,比如从 BGR 到灰度图,或者从 BGR 到 HSV 等。 • 创建一个程序用来从一幅图像中获取某个特定颜色的物体。 • 掌握函数cv2.cvtColor()、cv2.inRange() 等的常用法。 1.颜色空间转换 在OpenCV 中有 150 中颜色空间转换的方...
我们将使用一个简单的颜色替换方法。 importcv2importnumpyasnp# 读取原始图像和背景图像foreground=cv2.imread('foreground.jpg')background=cv2.imread('background.jpg')# 确保背景与前景图像具有相同的尺寸background=cv2.resize(background,(foreground.shape[1],foreground.shape[0]))# 转换BGR为HSV以便进行颜色...
dilate(erode,None,iterations=1)进行膨胀操作。 6.遍历像素点进行替换 最后回到我们的题目,要对证件照的背景色进行替换。在之前的步骤中,我们把人物全设置为了黑色,而背景统统变成了白色。因此最后我们只需要遍历每个像素点,把所有的白色像素点设置为我们想要的颜色就OK啦。 importcv2importnumpy as np#读取图片img ...
dilate[i,j]==255:像素点为255表示的是白色,我们就要将白色处的像素点,替换为你想要的照片底色。 img[i,j]=(0,0,255):此处替换颜色,为BGR通道,不是RGB通道,若是想要将红底变成蓝底img[i,j]=(255,0,0),若是想将蓝底变为红底则img[i,j]=(0,0,255),若是想变白底img[i,j]=(255,255,255)...
颜色替换 我下面要做的是把图中的蓝色换成绿色,并且亮度还要一样,其实很简单,我们只需要调换蓝色和绿色通道的亮度就可以了。 这样子有点怪,我们要做的不是这样的,应该是单独把比较蓝色的拿出来换成绿色而不是全部都换。那么我们要用一下inRange函数。
import cv2 import numpy as np img = cv2.imread("me.jpg") #缩放 row,col,chanel = img.shape img = cv2.resize(img,None,fx= 0.5,fy = 0.5) row,col,channle = img.shape cv2.imshow("img",img) #颜色转HSV hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) lower_blue =np.array([90,70,70...
6. 遍历像素点进行颜色替换 图像是由每一个像素点组成的,找到腐蚀后得到图片的白色底色处的像素点,然后将原图中对应位置处的像素点,替换为红色或者白色,即可实现给照片换底色。 代码语言:javascript 复制 importcv2importnumpyasnp img=cv2.imread(r'D:\test\test_001.jpg',1)new_img=cv2.resize(img,None,fx...
运行颜色替换代码效果如下: importcv2ascvimportnumpyasnpdefchange_clothes(src):# 图像二值化hsv=cv.cvtColor(src,cv.COLOR_BGR2HSV)hsv1=cv.cvtColor(hsv,cv.COLOR_HSV2BGR)# cv.imshow("hsv1",hsv1)# 使用 inRange()函数实现二值化lowerb=np.array([0,250,219])upperb=np.array([10,255,255])...
opencv在python和c#中的对照应用-替换颜色 先来python的, View Code c#的 View Code
4.遍历替换颜色 遍历每一个像素的值,如果发现是白色(即原照片的蓝色区域)就将其变为红色 这样变换出来的图片就为红底的。原图与现图对比:这里实现了蓝底变红底,要是实现变白底,只需要让第四步的遍历替换中的代码 img[i, j] = (0, 0, 255)变为img[i, j] = (255, 255, 255)即可,感兴趣的...