opencv01

import cv2
from matplotlib import pyplot as plt
import numpy as np
'''
#读图片与展示图片
img1=cv2.imread('cat.png')#读原始图片
img2=cv2.imread('cat.png',cv2.IMREAD_GRAYSCALE)#读原始图片并同时改为灰度图
img1=cv2.cvtColor(img1,cv2.COLOR_BGR2HSV)#改图像色彩函数
'''
# cv2.COLOR_BGR2HSV 不同颜色的阈值----这个我目前还不清楚干什么用
# cv2.COLOR_BGR2RGB 将BGR格式转换成RGB格式
# cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片
'''
cv2.imshow('HSV',img1)#展示图像
cv2.waitKey(0)#展示时间 单位ms  0表示时间长,需手动关闭

#读视频与展示视频
video=cv2.VideoCapture('opencv/li.mp4')#视频读取
'''
# 由于一帧帧图片组成视频,故需要通过while来展示视频
'''
while True:
    open,img=video.read()#open表示是否读录成功(bool),img为图片内容
    if img is None:
        break
    if open==True:
        GRAY=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
        cv2.imshow("zhanglili",GRAY)
        if cv2.waitKey(10) & 0xFF ==27:#ord表示按那个键结束---27表示退出键
            break
video.release()#释放

#读摄像头视频与展示
cap=cv2.VideoCapture(0)#0--主摄像头  1....n
cap.set(3,100)#长
cap.set(4,100)#宽
cap.set(10,100)#亮度
'''
# 0,1,2 可能是BGR改变什么
'''
while(True):
    ret,frame=cap.read()
    #gray=cv.cvtColor(frame,cv.COLOR_RGB2BGR)
    cv2.imshow("gray",frame)
    if cv2.waitKey(1)&0xFF==27:
        break
cap.release()
'''
'''
#图像平滑
##GaussianBlur
src=cv2.imread("lena.jpg")
cv2.imshow("input", src)
dst=cv2.GaussianBlur(src, (5,5), 0)#img.kernel,差值
cv2.imshow("gaussian_blur", dst)
cv2.waitKey(0)
##blur
src=cv2.imread("lena.jpg")
cv2.imshow("input", src)
dst=cv2.blur(src, (5,5), 0)#img.kernel,差值
cv2.imshow("blur_blur", dst)
cv2.waitKey(0)
##medianBlur
src=cv2.imread("lena.jpg")
cv2.imshow("input", src)
dst=cv2.medianBlur(src,5)#img.kernel
cv2.imshow("medianBlur_blur", dst)
cv2.waitKey(0)
'''
'''
#边缘检测
##Canny
img =cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
imgcanny=cv2.Canny(img,150,200)#图像,第一阈值,第二阈值
cv2.imshow("imgcanny", imgcanny)
cv2.waitKey(0)
##Sobel
img2 =cv2.imread('lena.jpg',cv2.COLOR_RGB2GRAY)
imgsobel=cv2.Sobel(img2,-1,1,1)#图像,图像深度,or求左右方向,or求上下方向
cv2.imshow("imgsobel", imgsobel)
cv2.waitKey(0)
'''
'''
#图像运算处理
##膨胀与腐蚀
img=cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
imgblur=cv2.Canny(img,150,200)
kernel=np.ones((3,3),np.uint8)
imgdilate=cv2.dilate(imgblur,kernel=kernel,iterations=1)#图像,卷积,迭代
imgerode=cv2.erode(imgdilate,kernel=kernel,iterations=1)
cv2.imshow('imgerode',imgerode)
cv2.waitKey(0)
'''
'''
#调整图像大小
img=cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
print(img.shape)#输出形状
imgs=cv2.resize(img,(100,200))#函数(图像,(列,行))
imgcrppend=img[:50,:100]#裁剪
print(imgcrppend.shape)
'''
'''
#绘制图形与文字
img=np.zeros((512,512,3),np.uint8)
img[100:240,100:240]=255,0,0
cv2.line(img,(0,0),(100,100),(0,255,10),3)#图像,起始位置,终点,颜色,厚度
cv2.rectangle(img,(0,0),(200,200),(0,0,250),3)#图像,起始位置,终点,颜色,厚度
cv2.circle(img,(200,200),35,(0,0,255),2)#图像,圆心,半径,颜色,厚度
cv2.putText(img,'opencv',(100,400),cv2.FONT_HERSHEY_COMPLEX,0.5,(0,255,0),2)#图像,字符,起始位置,字体,大小,颜色,厚度
cv2.imshow('img',img)
cv2.waitKey(0)
'''



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值