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()

你可能感兴趣的:(OpenCV)