读取图片并显示
import cv2
# 参数1 读入图片名,包括后缀名
# 参数2 0 灰色 1 彩色
img = cv2.imread('girl.jpg', cv2.IMREAD_COLOR)
# 参数1 窗体名字
# 参数2 显示的内容
cv2.imshow('image', img)
# 程序暂停
K = cv2.waitKey(0)
写入图片内容到某个文件
import cv2
img = cv2.imread('girl.jpg',1)
#第一个参数是要写入的图片的名称,第二个参数是图片数据
cv2.imwrite('girl1.jpg',img)
jpg图片压缩
#jpg图片的压缩
import cv2
img = cv2.imread('girl.jpg',1)
#对于jpg文件的压缩,第三个参数是压缩质量
cv2.imwrite('girl4.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
#1M 100K 10K 图片质量的范围是0-100 有损压缩
#jpg图片的额压缩压缩质量参数数值越小,压缩比越高
png图片压缩
#png图片的压缩
import cv2
img = cv2.imread('girl.jpg',1)
# 无损压缩
cv2.imwrite('girl3.png',img,[cv2.IMWRITE_JPEG_QUALITY,0])
#png图片的额压缩压缩质量参数数值越小,压缩比越小,压缩质量范围0-9,png有透明度属性
读取图片某个像素点的 GBR值 (注意此处opencv返回的BGR)
import cv2
img = cv2.imread('girl.jpg')
height, width, channel = img.shape # 图片的高度,宽度和通道数
print("height,width,channel", height, width, channel) # 输出显示
# 第100行, 第100列该像素点的值
(b, g, r) = img[100, 100]
print("b,g,r", b, g, r) # 输出显示
图片的像素点写入
import cv2
img = cv2.imread('girl.jpg')
height, width, channel = img.shape # 图片的高度,宽度和通道数
print("height,width,channel", height, width, channel) # 输出显示
for i in range(1,101):
img[10+i, 100] = (255,0,0)
cv2.imshow('image', img)
# 程序暂停
K = cv2.waitKey(0)
效果 有一段蓝线