CV学习(1)

发布于:2024-12-07 ⋅ 阅读:(30) ⋅ 点赞:(0)

前言

仅记录学习过程,有问题欢迎讨论

正好这段时间有空学习一下CV。

可能使用到的包

可以通过Anaconda直接install,不行就PIP install xxx

  • Python 3.6
  • scikit-image
  • numpy
  • matplotlib
  • pillow
  • opencv-python

我安装opencv遇到了一点麻烦,可以参考这个博客:
https://blog.csdn.net/2401_84972776/article/details/138936195

数字图像

像素:

像素是分辨率的单位。
像素是构成位图图像最基本的单元,每个像素都有自己的颜色!

分辨率:

单位英寸内的像素点个数越多,分辨率越大,越高清分辨率是衡量图像质量的重要指标,通常以像素为单位,如1024x768、1920x1080等。分辨率越高,图像越清晰,细节越丰富。
RGB模型:三原色通道:

  • 单通道:每个像素只有一个通道,即灰度值,灰度值范围通常为0-255,0表示黑,255表示白,中间值表示不同深度的灰色。
  • 三通道(三张图片叠在一起):RGB模型,可以表示彩色,0表示黑色(计算量也是单通道的3倍,边缘可以转为单通道减少极计算量)
  • 四通道:在RGB的基础上增加了一个透明度通道,即RGBA模型,可以表示透明度。

在这里插入图片描述

对比度:
不同颜色的差别,最大灰度/最小灰度

通道转化代码

"""
手动实现RGB 2 Gray  实现二值化
"""

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('test.png')
# 转为灰度图【cv接口】
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

plt.imshow(gray, cmap='gray')
print("---image gray----")
print(gray)
plt.show()


# 手动实现RGB 2 Gray === B R G
gray2 = img[:, :, 0] * 0.114 + img[:, :, 1] * 0.587 + img[:, :, 2] * 0.299
#展示
plt.imshow(gray2, cmap='gray')
plt.show()

# 手动实现二值化(需要先转化为灰度 单通道 再转化为黑白的)
img1 = gray2
img1[img1 > 127] = 255
img1[img1 <= 127] = 0
plt.imshow(img1, cmap='gray')
plt.show()



网站公告

今日签到

点亮在社区的每一天
去签到