选取图片区域对图片进行操作

    1. import numpy as np
    2. import cv2 as cv
    3. from matplotlib import pyplot as plot
    4. # 读取图片彩色读取
    5. img = cv.imread("images/ly.jpg", 1)
    6. px = img[100, 100] # img[100,100]表示行和列对于矩阵来说 px获取的值是这个矩阵100 行和100列的像素值
    7. # 返回的是一个 蓝色 绿色 和红色值组成的数组 如果是灰度那么返回相对于的灰度
    8. # 因为matplotlib显示的时候是RGB opencv是BGR做一步转换
    9. b, g, r = cv.split(img)
    10. img = cv.merge([r, g, b])
    11. # img.shape可以获取图像的行数和列数如果是彩色 那么后面包含3 如果是灰色的那么 仅仅返回行数和列数
    12. print(img.shape)
    13. # print(img.dtype)获取像素的单位#img.itemset修改单个像素值
    14. # img.itemset((10, 10, 2), 100)
    15. # 选中某一块区域 img[y,x]900-200=700 高度700 500-100=400 宽度为400
    16. ball = img[200:900, 100:500]
    17. img[200:900, 200:600] = ball # 起始的点位x=600 y=900 也就是宽度为400 高度为700
    18. plot.imshow(img)
    19. plot.show()