opencv-学习笔记(1)常用函数和方法。

                    opencv-学习笔记(1)常用函数和方法。


cv2.imread(filename,falg)

filename是文件名字

flag是读入的方式

cv2.MREAD_UNCHANGED :不进行转化,比如保存为了16位的图片,读取出来仍然为16位。

cv2.IMREAD_GRAYSCALE :进行转化为灰度图,比如保存为了16位的图片,读取出来为8位,类型为CV_8UC1。

cv2.IMREAD_COLOR :进行转化为三通道图像。

cv2.IMREAD_ANYDEPTH :如果图像深度为16位则读出为16位,32位则读出为32位,其余的转化为8位。

实际应用中,falg=0就是灰度图像,falg=1就是三通道图。这种方便

import cv2
import numpy as np
img=cv2.imread('1.jpg',0)//读入灰度图像
cv2.imshow('image',img)
cv2.waitKey(0)

看看输出

flag=0                                flag=1

           


cv2.imshow(‘窗口名字’,图像对象)

但是光光这个不够

还要下面加一句cv2.waitKey(0)

这个函数顾名思义就是等待键盘输入,0就是不停等待,5000就是5s内,函数会返回按下的ascii码


cv2. destroyAllWindows(“窗口名”)

可以关闭任何窗口

不加参数则是关闭所有窗口


 cv2.namedWindow('新建窗口名',flag)

创建一个窗口名叫image

flag=cv2.WINDOW_AUTOSIZE时候就自动适应大小这是默认的

flag=cv2.WINDOW_NORMAL就是图片自适应窗口大小

# -*- coding: utf-8 -*-
"""
Created on Thu May 31 17:32:11 2018

@author: Administrator
"""

import cv2
import numpy as np
cv2.namedWindow('image',cv2.WINDOW_NORMAL)
img=cv2.imread('1.jpg',1)
cv2.imshow('image',img)
cv2.waitKey(0)

现在就可以图片自适应窗口了


cv2.imwrite('图像名字',图像对象)

用来保存图片,效果如下


cv.waitKey()

这个函数是有返回值的,我们来看看则么用

import cv2
import numpy as np

img=cv2.imread('1.jpg',1)
cv2.imshow('image',img)
k=cv2.waitKey(0)&0xFF#64位系统必须添加
if k==27:        #ESC退出不保存
    cv2.destroyAllWindows()
elif k==ord('s'):    #s键保存
    cv2.imwrite('fuck2.jpg',img)
    cv2.destroyAllWindows()            

matplotlib

这个py库的使用是

from matplotlib import pyplot as plt

import cv2
import numpy as np
from matplotlib import pyplot as plt

img=cv2.imread('1.jpg',1)
cv2.imshow('image',img)
cv2.waitKey(0)
plt.imshow(img,cmap='gray',interpolation='bicubic')
plt.xticks([]),plt.yticks([])
plt.show()

这个代码分别用opencv和matplotlib显示了图像可以看出来都相反了?

因为

 


 opencv用摄像头捕捉视频

# -*- coding: utf-8 -*-
"""
Created on Thu May 31 17:32:11 2018

@author: Administrator
"""

import numpy as np
import cv2

#打开摄像头
cap=cv2.VideoCapture(0)

while(True):
    #一帧一帧捕获视频
    ret,frame=cap.read()
    cv2.imshow("frame",frame)
    #q键退出
    if cv2.waitKey(1)&0xFF==ord('q'):
        break;
cap.release()
cv2.destroyAllWindows()

效果如下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值