图像处理之opencv图片几何变化操作大全

1、opencv读取图片

  • cv2.imread()方法封装了4个步骤,分别为:
    • 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载
import cv2

# 1、文件的读取  2、封装格式解析   3、数据解码   4、数据加载
img = cv2.imread('image1.jpg', 1) #1表示彩色图片
#图片展示
cv2.imshow('image', img)

#释放资源
cv2.waitKey(0)
cv2.destroyAllWindows()


2、opencv保存图片

import cv2

# 1、文件的读取  2、封装格式解析   3、数据解码   4、数据加载
img = cv2.imread('image1.jpg', 1) #1表示彩色图片
#图片保存
# 1、jpg,png 文件头   2、文件数据
cv2.imwrite('image1.png', img)#返回结果为True,表示写入成功


3、图像质量压缩

3.1、有损压缩——jpg格式

  • 参数cv2.IMWRITE_JPEG_QUALITY的压缩范围是0~100,有损压缩以牺牲图片像素为前提
import cv2
img = cv2.imread('image1.jpg', 1)

cv2.imwrite('imageTest.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 0])

在这里插入图片描述

3.2、无损压缩——png格式

  • cv2.IMWRITE_PNG_COMPRESSION 压缩比0~9
import cv2
img = cv2.imread('image1.jpg', 1)
cv2.imwrite('imageTest.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 0])#压缩比0~9

总结: jpg的0 压缩比高 0~100; png的0 压缩比低 0 ~ 9
在这里插入图片描述

4、像素操作

4.1、像素值的读取

import cv2
img = cv2.imread('image1.jpg', 1)
#采集图片坐标为(100,100)的像素点,返回方式为元组
(b, g, r) = img[100, 100]
print (b, g, r)
232 240 240

4.2、像素值的写入

import cv2
img = cv2.imread('image1.jpg', 1)

# 绘制一条(100,100) ————> (100,600)的坚状红线
for i in range(1,500):
    img[100+i, 100] = (0, 0, 255)#和坐标系方向相反,[100+i, 100]=[y, x]
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述



5、图片缩放

5.1、查看图片宽高

import cv2
img = cv2.imread('image1.jpg', 1)

imgInfo &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值