opencv简单使用-处理图片

安装及简介

对于python来说,pip install opencv-python
pip install opencv-contrib-python
opencv:open(开源的意思) computer vision 开源计算机视觉
有1800万下载量 使用非常广泛 bsd许可开源 公司可以随便修改
github上python opencv 两万多

jupyter notebook练习opencv

opencv是C++写的,通过打包成库,python可以使用,打包完模块就叫cv2,C,C++打包成的.pyd文件
在这里插入图片描述
各种识别的文件 特征数据

import cv2
import numpy as np

rose=cv2.imread(./rose.jpg') #加载图片
type(rose) #numpy.ndarray numpy类型的数据
rose.shape #(755,500,3)

mingxing=cv2.imread('./mingxing.jpg')
mingxing.shape #(676,600,3)

cv2.imshow('rose',rose) #winname 弹出框的名字 mat 第二个参数 矩阵
cv2.waitKey(3000) #等待键盘键 等3秒消失 单位毫秒 0表示无限等待 输任何字母进行结束
cv2.destroyALLWindows() #必须写 要不然jupyter notebook会崩 得重新启动

rose=cv2.resize(rose,dsize=(600,676)) #调整尺寸 destination目标 size

#将两张图片合并到一张
#向明星献花
mix=cv2.addWeighted(mingxing,0.7,rose,0.3,0) 所占权重可调整 最后一个参数 调整亮度 越大越白 越小越黑 0不添加
cv2.imshow('mingxing',mix)
cv2.waitKey(0)
cv2.destroyALLWindows()

gray=cv2.cvtColor(rose,cv2.COLOR_RGB2GRAY) #convert 转化 RGB2BGR 有好多可以自己换
#HSV(H:色调 S:饱和度 V:明度) 也叫六角锥体模型 一种颜色空间 面向用户 RGB和CMY面向硬件
print(gray.shape) #(676,600)
cv2.imshow('gray',gray)
cv2.waitKey(0)
cv2.destroyALLWindows()

b,g,r=cv2.split(rose) #红绿蓝 opencv:蓝绿红 3个通道 进行拆分 之前是(676,600,3)
print(b.shape,g.shape,r.shape) #(676,600) (676,600) (676,600)

#颜色通道数量只有一个,那么现实图片的时候,只能显示黑白
cv2.imshow('b',b)
cv2.waitKey(0)
cv2.destroyALLWindows() #只有一种是黑白

img2=cv2.merge([b,g,r])  #顺序调整 颜色会变
cv2.imshow('new',img2)
cv2.waitKey(0)
cv2.destroyALLWindows()

mingxing.dtype #(dtype('uint8)
#int8:-128~127
#UINT5:无符号 0~255 2**8=256
a=np.array([100,250,10,230],dtype=np.uint8)
a+10 #array([110,4,20,240],dtype=uint8)
mingxing3=mingxing+100 #超过255就就变回去了
cv2.imshow('mingixng',mingxing3)
cv2.waitKey(0)
cv2.destroyALLWindows()

mingxing2=cv2.add(mingxing,100) #将图片进行提升亮度 超过255按255算
cv2.imshow('mingxing',mingxing2)
cv2.waitKey(0)
cv2.destroyALLWindows()

moon.shape #(330,580,3)
moon=cv2.imread('./moon.jpg')
moon=cv2.add(moon,np.full(shape=(330,580,3),fill_value=120,dtype=np.uint8)
cv2.imshow('moon',moon)
cv2.waitKey(0)
cv2.destroyALLWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值