opencv-python(九)

import cv2

img = cv2.imread('jk.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('Before modify', img)
for y in range(110,140):
    for x in range(110,210):
        img[y,x] = 255
cv2.imshow('After modify', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

读取灰度图像与编辑。

import cv2

img = cv2.imread('jk.jpg')
cv2.imshow('image',img)
print(f'修改前img[115,110]={img[115,110]}')

img[115:125,110:210] = [255, 0, 255] # 紫色
img[125:135, 110:210] = 255  # 白色
img[135:145, 110:210] = [0,255,255] # 黄色
cv2.imshow('After modify', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

读取彩色图像与编辑。

import cv2

img = cv2.imread('street.png',cv2.IMREAD_UNCHANGED) # png读取,否则会转为三通道
cv2.imshow("Before modify", img)
img[0:200, 0:200, 3] = 128
cv2.imwrite("street_128.png", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

编辑含Alpha通道的彩色图像。

import numpy as np
image = np.random.randint(0,200,size=[3,5],dtype=np.uint8)
print(f"iamge = \n{image}")
print(f'修改前image.item(1,3)={image.item(1,3)}')
print("-"*50)
image.itemset((1,3), 255)
print(f"修改后image=\n{image}")
print(f'修改后image.item(1,3)={image.item(1,3)}')

Numpy的item()和itemset()函数。

ndarray.item(行,列)   # 返回行、列索引的值。

ndarray.itmset(索引,值)   # 将值设定给指定索引的ndarray变量。

彩色图像:

ndarray.item(行,列,通道)   # 返回行、列、通道索引的值。

ndarray.itmset((行,列,通道),值)   # 将值设定给指定索引的ndarray变量。

import cv2
img = cv2.imread('jk.jpg')
cv2.imshow('Before modify', img)
print(f'修改前img[115,110,1]={img.item(115,110,1)}')
for z in range(115,145):
    for y in range(110,210):
        for x in range(0,3):
            img.itemset((z,y,x), 255)
cv2.imshow('After modify',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

ROI:

import  cv2

img = cv2.imread('jk.jpg')
cv2.imshow('Hung image', img)
face = img[30:220, 80:250]
cv2.imshow("Face", face)
cv2.waitKey(0)
cv2.destroyAllWindows()

马赛克:

import cv2
import numpy as np

img = cv2.imread("jk.jpg")
cv2.imshow("Hang image", img )
face = np.random.randint(0,255,size=[190,170,3],dtype=np.uint8)
img[30:220, 80:250] = face
cv2.imshow("Face", img)

cv2.waitKey(0)
cv2.destroyAllWindows()

感兴趣区域复制到其它图像上:

import cv2
import numpy as np

img = cv2.imread('jk.jpg')
cv2.imshow('Hung image', img)
usa = cv2.imread('money.jpg')
cv2.imshow('money', usa)
face = img[30:220, 80:250]
usa[30:220, 80:250] = face
cv2.imshow('Image', usa)

cv2.waitKey(0)
cv2.destroyAllWindows()

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值