Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Требуемый код:
import cv2 as cv
import matplotlib.pyplot as plt
# 读入图片
img = cv.imread(src,0)
# 显示图片
cv.imshow("img", img)
cv.waitKey(0)
cv.imread()
использоватьimread(‘图片地址’,flag)
Цветные изображения могут отображаться непосредственно как изображения в градациях серого.
- flags = -1: imread читает изображение как декодированное
- flags = 0: imread считывает изображение в одноканальном режиме, то есть серые и белые изображения.
- flags = 1: imread считывает изображение в трехканальном режиме, то есть цветное изображение
cv.cvtColor
использоватьcv.cvtColor(变量名,cv.COLOR_BGR2GRAY)
Разделите rbg для получения изображений в градациях серого соответственно
Интересное дополнение:opencv-python использует три канала bgr для обработки изображений, а matlibplot использует rgb.
-
b, g, r = cv.split(img)
Разделите три канала картинки и получите три точки ее бгр -
img_rgb = cv.merge([r, g, b])
: объединить его в rbg
Это отображается как на картинке выше, цвет не нормальный.
Но если вы используете matplotlib для отображения изображения, rgb является нормальным цветом, а цвет bgr, читаемый cv, не является нормальным.