OpenCV笔记007————Image Pixel Operation(Logical Operation)

Image Pixel Operation(Logical Operation)的代码注释:

import cv2 as cv
import numpy as np

# create image one
src1 = np.zeros(shape=[400, 400, 3], dtype=np.uint8)
#创建了一个大小为400*400的3通道图像,赋值为0,所以产生了一个512*512的黑色图像
src1[100:200, 100:200, :] = 255
#将图片中长的100-200像素和宽的100-200像素部分指定为255,所以经过转换后m2图片中出现了一块黄色色的方块。
#[100:200, 100:200, ]为白色,[100:200, 100:200, 1]为黄色,[100:200, 100:200, 2]为红色
#黄色和红色通道相加为黄色
src1[100:200, 100:200, 2] = 255
cv.imshow("input1", src1)
# create image two
src2 = np.zeros(shape=[400, 400, 3], dtype=np.uint8)
src2[150:250, 150:250, 2] = 255
#[100:200, 100:200, 2]是红色
cv.imshow("input2", src2)

dst1 = cv.bitwise_and(src1, src2)
dst2 = cv.bitwise_xor(src1, src2)
dst3 = cv.bitwise_or(src1, src2)
# cv.bitwise_and(参数1, 参数2):逻辑与
# cv.bitwise_xor(参数1, 参数2):逻辑异或
# cv.bitwise_or(参数1, 参数2):逻辑或
# cv.bitwise_not(参数):图像值取反操作

cv.imshow("dst1", dst1)
cv.imshow("dst2", dst2)
cv.imshow("dst3", dst3)

src = cv.imread("dataset/train/test1.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
dst = cv.bitwise_not(src)
cv.imshow("dst", dst)

cv.waitKey(0)
cv.destroyAllWindows()

运行结果:
在这里插入图片描述
若把代码修改为:
src1[100:200, 100:200, 1] = 255
src1[100:200, 100:200, 2] = 255
结果为:
在这里插入图片描述
src1[100:200, 100:200, 0] = 255
src1[100:200, 100:200, 2] = 255
在这里插入图片描述
src1[100:200, 100:200, 1] = 255
src1[100:200, 100:200, 2] = 255
src2[150:250, 150:250, 1] = 255
在这里插入图片描述
src1[100:200, 100:200, 1] = 255
src1[100:200, 100:200, 2] = 255
src2[150:250, 150:250, :] = 255
在这里插入图片描述
src1[100:200, 100:200, 1] = 255
src1[100:200, 100:200, 2] = 255
src2[150:250, 150:250, 0] = 255
在这里插入图片描述
src1[100:200, 100:200, :] = 255
src1[100:200, 100:200, 2] = 255
src2[150:250, 150:250, :] = 255
在这里插入图片描述

总结:
逻辑与操作:白色和红色与为红色
黄色与红色与为红色,等等
逻辑异或: 白和红为青色
黄和红为绿色,等等
逻辑或: 看不懂
图像值取反:红取反是青色,绿色取反是紫色,蓝色取反是黄色,看不懂。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值