图像是一个个的像素点排列组合而成
1. RGB
RGB彩色图是三个颜色通道叠加,每个像素点都是由3个通道的数值叠加,从而代表这个像素点的颜色。
OpenCV中图像通道顺序为BGR,matplotlib中图像通道顺序是RGB,交叉使用时要注意颜色通道的顺序
每个颜色通道的取值范围为0-255,共256个值
2. 灰度图
灰度图是二维矩阵,每个像素点是单通道的颜色,就只有一个值。
灰度图的取值范围是0-255,共256个灰阶。
0代表全黑,255代表全白
图像灰度化
第一种方式:读取彩色图像,再进行灰度化
import cv2
bgr_img=cv2.imread('src')
gray_img=cv2.cvtCOLOR(bgr_img,cv2.COLOR_BGR2GRAY)
cv2.imshow('窗体名称',gray_img)
cv2.waitKey(0)
cv2.deatroyAllWindows()
第二种方式:以灰度化方式读取图像
import cv2
gray_img=cv2.imread('src',cv2.COLOR_BGR2GRAY)
cv2.imshow('窗体名称',gray_img)
cv2.waitKey(0)
cv2.deatroyAllWindows()
3. 二值图
二值图也是一个二维矩阵,每个像素点只有0或者255这两个值来表示。
0为黑色,255为白色
灰度图二值化
import cv2
bgr_img=cv2.imread('src')
cv2.imshow('窗体名称',bgr_img)
gray_img=cv2.cvtCOLOR(bgr_img,cv2.COLOR_BGR2GRAY)
cv2.imshow('窗体名称',gray_img)
#二值化
ret,thresh_img=cv2.threshold(gray_img,167,255,0)
cv2.imshow('thresh_img',thresh_img)
cv2.waitKey(0)
cv2.deatroyAllWindows()
文章出处登录后可见!
已经登录?立即刷新