Opencv picture operation

Read pictures and display

import cv2

# 参数1 读入图片名,包括后缀名
# 参数2 0 灰色 1 彩色
img = cv2.imread('girl.jpg', cv2.IMREAD_COLOR)

# 参数1 窗体名字
# 参数2 显示的内容
cv2.imshow('image', img)

# 程序暂停
K = cv2.waitKey(0)

Write image content to a file

import cv2

img = cv2.imread('girl.jpg',1)
#第一个参数是要写入的图片的名称,第二个参数是图片数据
cv2.imwrite('girl1.jpg',img)

jpg image compression

#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 image compression

#png图片的压缩
import cv2
img = cv2.imread('girl.jpg',1)
# 无损压缩
cv2.imwrite('girl3.png',img,[cv2.IMWRITE_JPEG_QUALITY,0])
#png图片的额压缩压缩质量参数数值越小,压缩比越小,压缩质量范围0-9,png有透明度属性

Read the GBR value of a pixel in the picture (note the BGR returned by opencv here)

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)  # 输出显示

 

Picture pixel write

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)

The effect has a blue line

 

Published 92 original articles · Likes5 · Visitors 10,000+

Guess you like

Origin blog.csdn.net/xfb1989/article/details/105425959