将图像中某些特定的像素色彩区域改成自己所需要的图像色彩

一.目的

将下图绿色的地方转变为蓝色,不需要的背景转换为黑色,并且蓝色要有规律。
在这里插入图片描述

二.步骤

1.读取像素,获取像素的前两个通道值img[0]和img[1]

rows,cols,channels = img.shape

2.遍历图像的像素值

for i in range(rows):
  for j in range(cols):

3.通过上述遍历,输出的img[i][j]为一个列表,列表中有三个元素,每个元素对应像素的rgb值,因此将需要改变的像素值判断语句输出和赋值就可以进行替换了。

三.代码

import cv2
import numpy as np

# 读取照片
img=cv2.imread('cko.1.tif') # 输入需要转换的图片名称

# 打印图片的信息————分辨率、图片通道
rows,cols,channels = img.shape
print(("图片分辨是:%s*%s  此图片是%s通道")%(rows,cols,channels))
#cv2.imshow('img',img)


# 遍历替换
for i in range(rows):
  for j in range(cols):
      #print(img[i, j])
      if img[i,j][0] == 0 and img[i][j][2] == 0 and img[i][j][1] > 90:
          img[i][j][0] = img[i][j][1]
          img[i][j][1] = 0
      else:
          img[i][j][1] = 0
          img[i][j][0] = 0
          img[i][j][2] = 0

        #print(img[i,j])

cv2.imwrite('cko.1_one.tif',img)




# 键盘上按下q键退出
k = cv2.waitKey(0)
if k =='q':
  cv2.destroyAllWindows()

三.结果展示

原图:
在这里插入图片描述
转换的图像:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值