OpenCV for Python之改变图片颜色

OpenCV for Python之改变图片颜色

  • 1.环境
  • 2 直接修改通道值
  • 3.与、或、非、异或操作

Opencv4 官方文档 : https://docs.opencv.org/4.2.0/
Opencv4 for Python中文文档点击下载:Opencv4 for Python 中文文档

1.环境

Python 3.7 + OpenCV 4.2

2 直接修改通道值

改变图片颜色,其实就是修改通道值.

def create_ima():
    #三通道
    ima = np.zeros([400,400,3],np.uint8) #黑
    cv.imshow("black",ima)
    ima[:,:,0] = np.ones([400,400]) * 255 # 蓝色
    cv.imshow("deepBlue",ima)
    ima[:,:,1] = np.ones([400,400]) * 255 # 绿色
    cv.imshow("green",ima)
    ima[:,:,2] = np.ones([400,400]) * 255 #两个通道变成255,红色
    cv.imshow("",ima)

    #单通道
    ima = np.ones([400,400,1]) * 255 #白色 等于 ima = ima * 255
    # ima = ima * 127  #灰色
    ima = ima * 0 #黑色
    cv.imshow("create ima",ima)

    m1 = np.ones([3,3],np.uint8)
    m1.fill(12222.888) #
    print(m1)
    m2 = m1.reshape([1,9]) #转换形状
    print(m2)
    cv.waitKey(0)

OpenCV for Python之改变图片颜色_第1张图片

3.与、或、非、异或操作

  • bitwise_and是对二进制数据进行“与”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“与”操作,1&1=1,1&0=0,0&1=0,0&0=0
  • bitwise_or是对二进制数据进行“或”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“或”操作,1|1=1,1|0=1,0|1=1,0|0=0
  • bitwise_not是对二进制数据进行“非”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“非”操作,1=0,0=1
  • bitwise_xor是对二进制数据进行“异或”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“异或”操作,11=0,10=1,01=1,00=0
def inverse(filepath):
	#颜色取反,拿二值化图片最明显了
    ima = cv.imread(filePath)
    cv.imshow("sourcePic",ima)
    dst = cv.bitwise_not(ima)
    cv.imshow("颜色取反",dst)
    cv.waitKey(0)
if __name__ == "__main__":
    print(" ")
    filePath = "./files/images/threshold.jpg"
    inverse(filePath)

OpenCV for Python之改变图片颜色_第2张图片

转载请注明转自:https://leejason.blog.csdn.net/article/details/106434911

你可能感兴趣的:(OpenCV图像处理)