openvc 图像基本操作

阅读更多
openvc 图像基本操作

访问和修改图片像素点的值
px = img[100, 100]
px_blue = img[100, 100, 0]
img[100, 100] = [255, 255, 255]



获取图片的宽、高、通道数等属性
img.shape)  # (263, 263, 3) 包含高度、宽度和通道数的元组
img.dtype获取图像数据类型
img.size获取图像总像素数


了解感兴趣区域ROI(截取)
#截取脸部ROI
face = img[100:200, 115:188]

分离和合并图像通道
b, g, r = cv2.split(img)
img = cv2.merge((b, g, r))

# -*-encoding:utf-8-*-
import pytesseract
from PIL import Image
from PIL import ImageFilter
from PIL import ImageFont
from PIL import ImageDraw
import numpy as np
from PIL import Image

import cv2


def main():
    # img = cv2.imread("test001.jpg") #读取图片
    # cv2.imshow("1",img) #显示图片
    # cv2.waitKey(10000)# 延时10s

    # image = Image.open("test002.png")
    # img = image.convert('1')  # 转化为灰度图

    # img.show()

    # 获取和修改像素点值
    img = cv2.imread("learn.jpg")
    px = img[100, 100]
    print(px)  # [119 108 201]
    # 只获取蓝色blue通道的值,对于彩色图,这个值是B,G,R三个值的列表,对于灰度图,只有一个值:
    px_blue = img[100, 100, 0]
    print(px_blue)  # 119

    # 修改像素的值也是同样的方式:
    img[100, 100] = [255, 255, 255]
    print(img[100, 100])  # [255 255 255]

    img.itemset((100, 100, 0), 255)#但这种方式只能B, G, R逐一进行

    # ROI:region of interest,感兴趣区域。(就是你想要的区域)
    face = img[100:200, 115:188]
    cv2.imshow('face', face)
    cv2.waitKey(0)

    # 通道分割与合并
    b, g, r = cv2.split(img)
    img = cv2.merge((b, g, r))

if __name__ == '__main__':
    main()

你可能感兴趣的:(openvc 图像基本操作)