OpenCV图像处理

OpenCV图像处理

1.计算机视觉基础知识

图像最小单元——像素

  • 在计算机像素的值通常是用8位的无符号整型表示,取值范围是0-255
  • 假设图片的颜色变化从黑到白分为256级,这种类型的图片就是我们常说的黑白图片,也叫做单通道图片。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBxmCFfA-1665743686374)(C:\Users\25016\AppData\Roaming\Typora\typora-user-images\image-20221014164237143.png)]

RGB三原色

  • 我们生活中的图像都是由RGB三原色构成的:R是Red红色,G是Green绿色,B是Blue蓝色
  • 在计算机中RGB这三个颜色的取值通常也是在0-255之间。彩色图片有三个通道,所以是属于三通道图片。

颜色组成

  • 对于三通道图片来说,第一通道表示红色的数值,第二通道表示绿色的数值,第三个通道表示蓝色的数值。

​

图片的高和宽

  • 每张图片都是有=由很多个3通道的彩色像素组成的,我们可以把每一张图片看成是一个矩阵,图片中的一个像素对应矩阵中的一个位置。

载入显示保存图片

import cv2
import matplotlib.pyplot as plt
#载入图片
image = cv2.imread('image.jpg')

if image is not None:
    print('variable is not None')
    print(image.shape)
else:
    print('variable is None')
    
print('height:%d pixels' %(image.shape[0]))
print('width:%d pixels'%(image.shape[1]))
print('channel:%d pixels'%(image.shape[2]))

plt.imshow(image)
plt.axis('off')
plt.show()


##opencv默认是BGR,需要转化为RGB
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(image)
plt.axis('off')
plt.show()

#保存图片
cv2.imwrite('new_image.jpg', image)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3cXCZ9t3-1665743686376)(C:\Users\25016\AppData\Roaming\Typora\typora-user-images\image-20221014182910427.png)]

图像基础

import cv2
import matplotlib.pyplot as plt

image = cv2.imread('image.jpg')
(h, w, c) = image.shape
print(image.shape)

#获取一个点的RGB
(b, g, r) = image[0,0]
print(image[0,0])

image[0, 0] = (0, 0, 255)
(b, g, r) = image[0, 0]
print(image[0, 0])
cx, cy = (h//2, w//2)
t1 = image[0:cx, 0:cy]
plt.imshow(t1)
plt.axis('off')
plt.show()


tr = image[0:cx, cy:w]
bl = image[cx:h, 0:cy]
br = image[cx:h, cy:w]

def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()
    
show(tr)
show(bl)
show(br)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nZjn2ylF-1665743686377)(C:\Users\25016\AppData\Roaming\Typora\typora-user-images\image-20221014183216456.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mkEFKI6b-1665743686377)(C:\Users\25016\AppData\Roaming\Typora\typora-user-images\image-20221014183230686.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WJg19BAX-1665743686378)(C:\Users\25016\AppData\Roaming\Typora\typora-user-images\image-20221014183242030.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FntZQQGq-1665743686378)(C:\Users\25016\AppData\Roaming\Typora\typora-user-images\image-20221014183251287.png)]

image[0:cx, 0:cy] = [0,0,255]
show(image)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值