zoukankan      html  css  js  c++  java
  • OpenCV学习第二课——对感兴趣区域进行分割(ROI)

    1、图像ROI

    import cv2
    import numpy as np
    
    # 读入图片
    # a = cv2.imread("E:\image\lenacolor.png")
    # cv2.imshow("original",a)
    # cv2.waitKey()
    # cv2.destroyAllWindows()
    
    # 将一个图像的ROI(感兴趣区域)移到另一个图片中去
    a = cv2.imread("E:\image\lenacolor.png")  # 图像A
    
    c = cv2.imread("E:\image\p1.jpg")  # 图像C
    print(a.shape)  # (512, 512, 3) 整个图像是  512*512 ,从而大致判断你想要的区域位置
    b = np.ones((101, 101, 3))  # 创建 一个ROI区域
    
    b = a[220:400, 250:360]  # 根据整个图像是由 512*512 大小 裁剪出来了ROI(脸部)
    # a[0:180, 0:110] = b
    
    # c[0:180, 0:110] = b  # 讲裁剪出来的脸部  放在图像C的0-180行,0-110列的位置
    c[0:180, 0:110] = b
    # cv2.imshow("original", a)
    cv2.imshow("original1", c) # 显示C
    # cv2.imshow("face", b)
    cv2.waitKey()
    cv2.destroyAllWindows()

    2、通道的拆分与合并

    import cv2
    import numpy as np
    
    # 通过分离BGR,合并成原来的图片
    # a = cv2.imread("E:\image\lenacolor.png")
    #
    # b, g, r = cv2.split(a)  # 讲图片拆分,所有彩色图片都是BGR合成的
    #
    # cv2.imshow("original", a)
    #
    # cv2.imshow("B", b)
    # cv2.imshow("G", g)
    # cv2.imshow("R", r)
    #
    # m = cv2.merge([b, g, r])  # merge 合并通道
    #
    # cv2.imshow("merge", m)  # 显示通道
    # cv2.waitKey()
    #
    # cv2.destroyAllWindows()
    
    
    # 通过逐个分离BGR,合成只含B或G或R的图片
    a = cv2.imread("E:\image\lenacolor.png")
    row, cols, chn = a.shape  # 获得图像a的行列通道数
    # 提取b,G,R为0
    b = cv2.split(a)[0] # split 提取特定的通道
    g = np.zeros((row, cols), a.dtype)
    r = np.zeros((row, cols), a.dtype)
    
    cv2.imshow("original", a)
    
    m = cv2.merge([b, g, r])  # merge 合并通道,行程BGR图像
    
    cv2.imshow("merge", m)  # 显示通道
    cv2.waitKey()
    
    cv2.destroyAllWindows()
  • 相关阅读:
    48. Rotate Image
    47. Permutations II
    46. Permutations
    45. Jump Game II
    44. Wildcard Matching
    43. Multiply Strings
    42. Trapping Rain Water
    Python_匿名函数
    Python_内置函数之map()
    Python_面向对象_单例模式
  • 原文地址:https://www.cnblogs.com/pyhan/p/13644458.html
Copyright © 2011-2022 走看看