python+OpenCV 图片像素点的读写操作

#对图片的像素进行读写操作
'''
1.像素(图片放大后的一个个的方块)
2.每一个像素值都可以由RGB(即红绿蓝三种颜色)三种颜色通道组成
3.颜色深度 8bit的图片深度在0-255之间 
4.图片的宽和高 “640*480”表示图片在水平方向上有640个像素点,在竖直方向上有480个像素点
5.未压缩的图片的计算方法:
1.14M(图片的大小)=720*547(图片像素点的个数)*3(颜色通道数)*8bit(每一个颜色通道的图片深度)/8(B)(除以8是转换成字节)
6.RGB alpha通道描述的是图片的透明度
7.颜色存储格式:RGB,bgr(RGB第一个像素点排的是红色,而bgr第一个像素点排的是蓝色)
8.bgr中的b g 每一个颜色通道都代表着颜色通道
'''
import cv2
img = cv2.imread('D:\image01.jpg',1)#img是一个矩阵格式
'''
图片的坐标格式:
以图片左上角为坐标原点
x轴代表图片的列,图片的宽度,横向从左往右
y轴代表图片的行,图片的的长,纵向从上往下
'''
#读取图片的像素点
(b,g,r) = img[100,100]#img以bgr格式存储
print(b,g,r)
#像素的写入(10,100)->(110,100)
for i in range(100):
    img[10+i,100] = (255,0,0)#标准的蓝色
cv2.imshow('image',img)
cv2.waitKey(1000)#等待1000ms
#这样就会在图片的左上角出现一条蓝色的线条

你可能感兴趣的:(OpenCV)