cv2基本操作
import numpy as np
import matplotlib.pyplot as plt
import cv2
img = cv2.imread('cat.jpeg')
plt.imshow(img)

img = cv2.imread('cat.jpeg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
BGR2RGB,将BGR转化为RGB

转化为灰度图
img = cv2.imread('cat.jpeg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(img,cmap='gray')

转化为HSV图像
H代表色色调,用角度度量,取值范围为0°-360°。从红色开始安逆时针方向计算,红色为0度,绿色为120度,蓝色为240度。
S代表饱和度,饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例越大,颜色越接近光谱色,颜色的饱和度也就越高。饱和度高,颜色就越深越艳。
V代表明度。明度表示颜色明亮的程度,对于光源色,明度值与发光体的亮度有关;对于物体色,明度值和物体的透射比和反色比有关。通常取值范围为0%(黑)到100%(白)。
RGB
RGB 是我们接触最多的颜色空间,由三个通道表示一幅图像,分别为红色®,绿色(G)和蓝色(B)。这三种颜色的不同组合可以形成几乎所有的其他颜色。
RGB 颜色空间是图像处理中最基本、最常用、面向硬件的颜色空间,比较容易理解。
RGB 颜色空间利用三个颜色分量的线性组合来表示颜色,任何颜色都与这三个分量有关,而且这三个分量是高度相关的,所以连续变换颜色时并不直观,想对图像的颜色进行调整需要更改这三个分量才行。
img = cv2.imread('cat.jpeg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
plt.imshow(img,cmap='gray')

添加滤波器,类似于卷积
不同的kernel,得到的图片效果不同
此时的kernel_sharpening会使图片更具有细节
img = cv2.imread('cat.jpeg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(20, 20))
plt.subplot(1, 2, 1)
plt.imshow(img)
kernel_sharpening = np.array([[-1,-1,-1],
[-1,9,-1],
[-1,-1,-1]])
sharpened = cv2.filter2D(img, -1, kernel_sharpening)
plt.subplot(1, 2, 2)
plt.title("Image Sharpening")
plt.imshow(sharpened)

erode操作,忽视部分细节
img = cv2.imread('cat.jpeg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(20, 20))
plt.subplot(1, 2,

博客围绕cv2展开,介绍了其基本操作,如颜色空间转换(BGR2RGB、转灰度图、HSV图像)、添加滤波器、边缘检测等,还提及图片哈希。此外,阐述了图像数据扩展方法,包括无监督和监督式数据扩展,无监督扩展可借助albumentations库等。
最低0.47元/天 解锁文章
11万+

被折叠的 条评论
为什么被折叠?



