OpenCV图像处理

2021-12-24 13:55:59 浏览数 (1)

1. 转换灰度图像

1.1 读取图像
代码语言:javascript复制
import cv2 as cv
# 读取图片
img = cv.imread('../Resources/Photos/park.jpg')
cv.imshow('Park', img)
1.2 使用OpenCV
代码语言:javascript复制
# 灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('Gray', gray)
1.3 使用PIL和numpy
代码语言:javascript复制
​
# -*- coding: utf-8 -*-
​
from PIL import Image
​
from pylab import *
​
#读取图片,灰度化,并转为数组
im = array(Image.open("Resources/Photos/park.jpg").convert('L'))
​
im2 = 255 - im                  # 对图像进行反相处理
​
im3 = (100.0/255) * im   100    # 将图像像素值变换到 100...200 区间
​
im4 = 255.0 * (im/255.0)**2     # 对图像像素值求平方后得到的图像(二次函数变换,使较暗的像素值变得更小)
​
#2x2显示结果 使用第一个显示原灰度图
#subplot(221)
​
title('gray')
​
gray()
​
imshow(im)
​
show()

2. 颜色空间转换

2.1 原图
代码语言:javascript复制
import cv2 as cv
import matplotlib.pyplot as plt
​
img = cv.imread('../Resources/Photos/park.jpg')
cv.imshow('Park', img)
2.2 BGR转换为HSV
代码语言:javascript复制
# BGR to HSV
hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)
cv.imshow('HSV', hsv)
2.3 BGR转换为LAB
代码语言:javascript复制
# BGR to L*a*b
lab = cv.cvtColor(img, cv.COLOR_BGR2LAB)
cv.imshow('LAB', lab)
2.4 BGR转换为RGB
代码语言:javascript复制
# BGR to RGB
rgb = cv.cvtColor(img, cv.COLOR_BGR2RGB)
cv.imshow('RGB', rgb)
2.5 HSV转换为RGB
代码语言:javascript复制
# HSV to BGR
lab_bgr = cv.cvtColor(lab, cv.COLOR_LAB2BGR)
cv.imshow('LAB --> BGR', lab_bgr)

3. 参考

python图像数组操作与灰度变换

0 人点赞