OpenCV读取与写入图片的实现
1.读取图片
cv2.imread(filename, flags)
- -filename: 文件名称
- -flags: 0 读入灰度图片,1 读入彩色图片
cv2.imshow(winname, mat)
- -winname: 窗口名字
- -mat: 要展示的图片矩阵
cv2.waitKey(0):暂停程序,这样才能显示图片
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imshow('img', img)
cv2.waitKey(0)
2.图片写入
读取图片要经历四个步骤:
1.文件的读取
2.封装格式解析(jpg,png等格式)
3.数据解码
4.数据加载
这样读取的图片为图片的原始数据
cv2.imwrite(filename, img)
- -filename: 图片名称
- -img: 图片数据
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imwrite('img1.jpg', img)
True
2.1图像质量
1.jpg图片文件是以图片质量为代价进行压缩的,属于有损压缩
cv2.IMWRITE_JPEG_QUALITY: 表示当前的图片质量,压缩范围为0-100,不同压缩比对应不同的图片大小,下面我们来体验一下:
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imwrite('imgTest.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 0])
True
原图像如下:
图片大小为400kb
压缩之后的图片为:
图片大小为40kb, 同时出现了严重的马赛克现象
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imwrite('imgTest2.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 50])
True
压缩之后的图片为:
图片大小为200kb,马赛克现象没那么的严重
2.png图片格式的压缩属于无损压缩,可以设置透明度
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imwrite('imgTest1.png', img)
True
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imwrite('imgTest2.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 0])
True
压缩之后的图像为:
图片大小为:5.92MB
import cv2
img = cv2.imread("img.jpg", 1)
cv2.imwrite('imgTest3.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 50])
True
图像大小变为2.34MB
由此可知,jpg图片文件图像质量的数值越低,压缩比越高,png图片文件图像质量的数值越低,压缩比越低
3.像素
像素:是指组成图像的小方格
RGB: 每一种颜色都是由RGB(red, green, blue)三种颜色组合而成的
颜色深度:比如,8bit 表示每种颜色的范围是0~255, 所以总共有256^3中颜色
图像宽高:表示在水平方向和竖直方向的像素点的个数
未压缩图片的计算方法: w * h * 颜色通道(3) * 8 bit / 8(B)
3.1像素读取与写入
每一个像素点都有3各部分组成,一般情况下,图片存储的格式为RGB, 但是opecv读取的图片为BGR格式
我们将图片的左上角的一列变为蓝色
import cv2
img = cv2.imread('img.jpg', 1)
(b, g, r) = img[100, 100] # 读取像素值
print(b, g, r)
#10,100 --- 110, 100
for i in range(1, 1000):
img[10 + i][100] = (255, 0, 0)
cv2.imshow('imageBlue.png', img)
cv2.waitKey(0)
59 54 129
True
到此这篇关于OpenCV读取与写入图片的实现的文章就介绍到这了,更多相关OpenCV读取与写入图片内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
代码知识SEO上一篇 : golang项目如何上线部署到Linu服务器(方法详解)
下一篇 : Windows下Goland的环境搭建过程详解
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!