一、Opencv入门

一、Opencv入门

第一节:图片的读取和展示

import cv2 

img = cv2.imread('image0.jpg',1)
cv2.imshow('image',img)

cv2.waitKey (0)

第二节:Opencv模块组织结构

D:\opencv3.4\opencv\build\include\opencv2中

在这里插入图片描述

calib3d:相机的校准和3D内容

core:非常重要,完全掌握。记录的opencv中的基本矩阵操作,绘图操作

dnn:神经网络相关的模块

features2d:图像角点检测相关,图像匹配会用到

flann:聚类相关,邻域搜索相关的

highgui:图形相关交互比较重要

imgcodecs/imgproc:滤波处理直方图统计都要用到

ml:机器学习模块

objdetect:物体检测模块了解即可

photo:图片修复、去噪

shape:很少用到

stitching:拼接模块:360全景相机

video/videoio/videostab:视频模块

第三节:图片写入

import cv2 
# 1 文件的读取 2 封装格式解析 3 数据解码 4 数据加载
img = cv2.imread('image0.jpg',1)
cv2.imshow('image',img)
# jpg png  1 文件头 2 文件数据
cv2.waitKey (0)
# 1.14M 130k
import cv2
img = cv2.imread('image0.jpg',1)
cv2.imwrite('image1.jpg',img) # 1 name 2 data 

第一个为文件写入名 第二是解码后的原始图片数据

第四节:不同图片质量保存

1)jpg的操作

import cv2
img = cv2.imread('image0.jpg',1)
cv2.imwrite('imageTest.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
#1M 100k 10k 0-100 有损压缩

cv2.imwrite的第三个参数设置图片质量 范围0-100(有损压缩)

尝试改为20查看图片大小:

在这里插入图片描述

100k还能保证图片的质量,如果到10K以下就会出现马赛克,

2)png的操作

# 1 无损 2 透明度属性
import cv2
img = cv2.imread('image0.jpg',1)
cv2.imwrite('imageTest.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])
# jpg 0 压缩比高0-100 png 0 压缩比低0-9

png:压缩是无损的还有透明度属性

设置为0的时候数字比越小压缩比最低

总结:

对于jpg:数字越小 压缩比越高图片损失严重 范围:0-100

对于png:数字越小,png压缩比低 范围:0-9

第五节:像素操作

在这里插入图片描述

1.像素:一个个放大的小方块

2.RGB 256种

3.颜色深度 8bit:0-255 256的三次方这么多颜色

4.图片的宽高 640*480:宽有640个像素点,高有480个像素点

5.一个图片1.14M如何计算得来 1.14M=720 * 547 * 3 * 8 bit / 8 =1.14M

​ 宽 * 高 * RGB三个颜色分量 * 每个颜色分量有8bit

得到的是bit 在/8得到(B)

6.RGB alpha就是描绘透明度信息

在这个函数中 cv2.imread(‘image0.jpg’,1) 0代表灰度 1代表彩色 2就代表有alpha通道的

7.颜色存储格式除了RGB 还有bgr 第一个b排的不是红色而是蓝色

第六节:像素读取写入

import cv2
img = cv2.imread('image0.jpg',1)
(b,g,r) = img[100,100]
print(b,g,r)# bgr
#10 100 --- 110 100
for i in range(1,100):
    img[10+i,100] = (255,0,0)
cv2.imshow('image',img)
cv2.waitKey(0) #0就是一直等待,1000就等待1000 ms

打印出100,100这个像素点的b g r的值为39 46 49

在这里插入图片描述

这里是bgr颜色不是rgb

并且从x=10到x=100,y不变画一条竖线。因为我们是bgr方式存储所以255,0,0是蓝色

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值