一、图像打码
测试代码
import cv2
src1=cv2.imread('img.png',cv2.IMREAD_REDUCED_COLOR_2) # 读取图片并将大小改为1/2
cv2.imshow('Rem',src1) # 显示未打码的图片
# 指定区域打码_看图像估个大概位置
src1[60:100,180:350]=0 # 将图像宽60至100,长180至350区域的像素值改为0
cv2.imshow('dama',src1) # 显示打码后的图片
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果
总结
此图像打码方式主要是改变指定区域的像素值,指定打码区域需要看图片估算大概位置。
二、创建图像掩摸
测试代码
import cv2
import numpy as np
src1=cv2.imread('img.png',cv2.IMREAD_REDUCED_COLOR_2)
# 创建图像掩摸
# 图像掩摸:一张与其他图像进行某种位运算,以达到某种效果的图片,一般是黑白图
# 要能进行位运算,就需要两者的shape值相同
H,W,C=src1.shape # 获取原图像的宽、长、通道数
zeroImg=np.zeros((H,W,C),np.uint8) # 创建像素值为0的3通道黑色图片
zeroImg[50:150,200:350]=255 # 将黑色图片的宽50至150,长200至350区域的像素值设置为255
img=cv2.bitwise_and(src1,zeroImg) # 按位 与运算
cv2.imshow('zero',src1) # 显示原图像
cv2.imshow('zero1',zeroImg) # 显示图像掩摸
cv2.imshow('zero2',img) # 显示图像掩摸
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果
总结
图像掩摸:一张与其他图像进行某种位运算,以达到某种效果的图片,一般是黑白图。要能进行位运算,就需要两者的shape值相同,所以需要获取原图的shape值,以此来创建一张黑白图。
三、图像坐标系
前诉
opencv中的图像坐标系跟普通的平面坐标系不一样!
普通的平面坐标系
以右下角为原点(0,0),向右为x轴正方向,向上为Y轴正方向。
图像坐标系
opencv中的图像坐标系以左上角为原点(0, 0),向右为x轴正方向,向下为y轴正方向。坐标系的单位是像素,x轴的正方向是图像的宽度方向,y轴的正方向是图像的高度方向。因此,一个点的坐标可以表示为(x, y)。
2023/08/01/10:04
OpenCV学习笔记,友人归来得早起