【LSP】OpenCV图像处理学习笔记

ginrue   ·   发表于 2020-9-28   ·   编程代码

第1课:图像读入、显示和保存1. 读入图像Copyretval = cv2.imread(文件名[,显示控制参数])文件名:完整文件名参数: cv2.IMREAD_UNCHANGED cv2.IMREAD_GRAYSCALE cv2.IMREAD_COLOR2. 显示图像CopyNone = cv2.imshow(窗口名, 图像名)范例: cv2.imshow('demo', image) retval = cv2.waitKey( [,delay])delay: delay > 0 等待delay毫秒 delay < 0 等待键盘单击 delay = 0 无线等待 cv2.destroyAllWindows() # 销毁所有窗口3. 保存图像Copyretval = cv2.imwrite(文件地址, 文件名)范例: cv2.imwrite('./image/A.jpg')第2课:图像处理入门基础1. 基本概念图像是由像素构成的图像分类:二值图像灰度图像RGB图像二值图像的像素点只能是0,1灰度图像的像素点是0-255,0为纯黑,255为纯白,区间内都是灰色RGB图像(3通道,在OpenCV为BGR)RGB图像的构成可以理解为三个灰度图像拼成一个RGB图像。2. RGB转灰度在实际项目中,通常需要将原始图像处理为灰度图像。为什么这么做呢?原始的彩色图像其一个像素点有三个值处理数据较为麻烦。而灰度图像每个像素点就只有一个值处理起来较为简单。转为灰度图像是否会丢失图像信息?不会!在转换过程中采取的算法采用加权操作,确保RGB三个颜色都保存在灰度图像中。第3课:像素处理1. 读取像素返回值 = 图像(位置参数)

2. 修改像素Copy# 灰度图像(numpy数组操作)范例: print(img[88, 99]) img[88, 99] = 255 print(img[88, 99])第4课:使用numpy进行像素操作1. 读取像素Copy返回值 = 图像.item(位置参数)灰度图像,返回灰度值。BGR图像,返回值为BGR的值范例: p = img.item(78, 125) print(p) blue = img.item(78, 125, 0) green = img.item(78, 125, 1) red = img.item(78, 125, 2)2. 修改像素Copy灰度图像范例: img.itemset((88, 99), 255) print(img.item(88, 99)) img.itemset((88, 99), 255) print(img.item(88, 99)) BGR图像范例: img.itemset((88, 99, 0), 255) img.itemset((88, 99, 1), 255) img.itemset((88, 99, 2), 255) 第5课:获取图像属性1. 形状:行、列、通道数Copyshape可以获取图像的形状,返回包含行数,列数,通道数的元组灰度:返回行数、列数彩色:返回行数、列数、通道数范例: import cv2 img1 = cv2.imread('灰度图像') print(img1.shape) # (512, 512) import cv2 img2 = cv2.imread('彩色图像') print(img2.shape) # (512,512,3) 2. 像素数目Copysize可以获取图像的像素数目。灰度: 返回行数*列数彩色: 返回行数*列数*通道数范例: import cv2 img = cv2.imread('图像名') print(img.size) # 3523533. 获取图像类型

0 Reply   |  Until 2020-9-29 | 1185 View
LoginCan Publish Content
程序耗时 0.0335秒 内存:1352KB