怎么从0到1学习Python呢?Python中的知识点,涉及到内容主要是Python Opencv,用于人工智能,机器学习模拟相关的数据,那么,里面的一些较为基础的知识点,涉及到的内容是什么呢?下面就给大家详细解答下。
OpenCV是一个流行的开源计算机视觉库,可用于不同的编程语言,例如Python、C++和JavaScript。它提供了一套丰富的工具来处理和分析图像和视频,让你可以从调整单张图片的大小到构建复杂的对象识别应用程序。
本文给大家介绍Python Opencv中基础的知识点。
1.创建窗口
import cv2 import numpy as np def createWindow(): #读取图片 img=cv2.imread('images/1(1).jpg') #创建窗口flags=WINDOW_NORMAL表示可以改变窗口大小 cv2.namedWindow(winname='window',flags=cv2.WINDOW_NORMAL) #缩放窗口的大小 cv2.resizeWindow(winname='window',width=300,height=200) #显示窗口 cv2.imshow('window',img) #获取鼠标或者键值 key=cv2.waitKey(0) if(key&0XFF==ord('Q')): cv2.destroyAllWindows() #销毁所有的窗口 if __name__=='__main__': print('PyCharm') createWindow()
2.保存图片
import cv2 import numpy as np def createWindow(): #读取图片 img=cv2.imread('images/1(1).jpg') #创建窗口flags=WINDOW_NORMAL表示可以改变窗口大小 cv2.namedWindow(winname='window',flags=cv2.WINDOW_NORMAL) #缩放窗口的大小 cv2.resizeWindow(winname='window',width=300,height=200) while True: #显示窗口 cv2.imshow('window',img) #获取鼠标或者键值 key=cv2.waitKey(0) if(key&0XFF==ord('Q')): break elif(key&0xFF==ord('s')): #保存图片 #name-保存的文件名img-保存的图片 cv2.imwrite('save_pic.png',img) break cv2.destroyAllWindows() #销毁所有的窗口 if __name__=='__main__': print('PyCharm') createWindow()
3.采集视频
import os import cv2 import numpy as np def CollectVideo(): #创建窗口 cv2.namedWindow(winname='window',flags=cv2.WINDOW_AUTOSIZE) cv2.resizeWindow(winname='window',width=450,height=300) #打开摄像头 cap=cv2.VideoCapture(0) fourcc=cv2.VideoWriter_fourcc(*'MJPG') #获取窗口大小 size=(int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))) #输出文件多媒体文件格式视频帧率分辨率大小 vw=cv2.VideoWriter('video.avi',fourcc,25,size) while cap.isOpened(): #从摄像头读取视频帧 OK,frame=cap.read() if OK: #显示摄像头画面 cv2.imshow('window',frame) cv2.resizeWindow(winname='window',width=450,height=300) #将从摄像头采集的视频帧写入文件 vw.write(frame) #从鼠标和键盘获取键值,按下ESC键退出 if cv2.waitKey(1)&0xFF==27: break #释放资源 cap.release() vw.release() #销毁所有的窗口 cv2.destroyAllWindows() if __name__=='__main__': print('Pycharm') CollectVideo()
4.鼠标控制
#回调函数参数解释 #event:鼠标移动,按下左键; #(x,y):鼠标坐标 #flags:鼠标键及组合键 import cv2 import numpy as np #回调函数定义 def mouse_callback(event,x,y,flags,userdata): print(event,x,y,flags,userdata) #创建窗口 cv2.namedWindow(winname='mouse',flags=cv2.WINDOW_NORMAL) cv2.resizeWindow(winname='mouse',width=450,height=300) #给“mouse”窗口设置回调函数 cv2.setMouseCallback('mouse',mouse_callback,'123') img=np.zeros(shape=(300,450,3),dtype=np.uint8) while True: cv2.imshow('mouse',img) #按下ESC键退出 if cv2.waitKey(1)&0xFF==27: break cv2.destroyAllWindows() if __name__=='__main__': print('pycharm')
5.TrackBar组件
import os import cv2 import numpy as np cv2.namedWindow(winname='trackbar',flags=cv2.WINDOW_NORMAL) cv2.resizeWindow(winname='trackbar',width=450,height=300) #获取TrackBar的值 def TrackBarValue(): #获取窗口“window”下子窗口“R”的值 value_R=cv2.getTrackbarPos(trackbarname='R',winname='trackbar') value_G=cv2.getTrackbarPos(trackbarname='G',winname='trackbar') value_B=cv2.getTrackbarPos(trackbarname='B',winname='trackbar') return value_R,value_G,value_B def callback(): pass #定义TrackBar函数 def TrackBarBGR(): #value-trackbar的值count-设置的最大值count(最小值为0)OnChange-回调函数 cv2.createTrackbar('R','trackbar',0,255,callback) cv2.createTrackbar('G','trackbar',0,255,callback) cv2.createTrackbar('B','trackbar',0,255,callback) img=np.zeros(shape=(450,300,3),dtype=np.uint8) #创建trackbar组件 TrackBarBGR() while True: #获取trackbar的值 R,G,B=TrackBarValue() img[:]=[B,G,R] #获取值之后改变背景的颜色 cv2.imshow('trackbar',img) #按下ESC键退出 if cv2.waitKey(1)&0xFF==27: break cv2.destroyAllWindows() if __name__=='__main__': print('Pycharm')
综上所述,这篇文章就给大家介绍完毕了,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128367.html
...ion)的原理及处理介绍 》(链接:https://blog.csdn.net/LaoYuanPython/article/details/119857829)中介绍了数字图像处理中应用直方图均衡进行图像增强的原理、应用示例,本文将介绍对应处理方法在OpenCV中的实现以及基于OpenCV-Python的应用样...
...面向学习数据科学与人工智能的读者,通俗地讲解每一个知识点,旨在帮助读者快速打下数学基础。 全书分为 4 篇,共 17 章。其中第 1 篇为数学知识基础篇,主要讲述了高等数学基础、微积分、泰勒公式与拉格朗日乘子法...
... ☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一、引言 在前面几篇直方图相关的文章中介绍了直方图均衡、直方图匹配、局部直方图处理、基于直方图统计信息进行图像增...
...虑专门的下载工具下载。如果实在下不下来,请关注老猿Python的微信公号给老猿发消息。 三、自适应直方图均衡CLAHE图像和分块大小不能整除的处理 当图像的宽(或高)不是对应横向(或纵向)分块数的整数倍时,老猿认为对...
...站mp4 视频 视频测试地址(在线 MP4 文件)11 个思维导图知识点整理帮你决胜考研(基础课和计算机专业课)作为程序员该了解的 8 条冷知识如何写一份程序员爱看的需求文档? 写在后面 这些文章当初收藏的时候,我肯定想着好好...
阅读 98·2023-01-14 11:38
阅读 48·2023-01-14 11:04
阅读 14·2023-01-14 10:57
阅读 20·2023-01-14 10:48
阅读 19·2023-01-14 10:40
阅读 14·2023-01-14 10:34
阅读 20·2023-01-14 10:24
阅读 19·2023-01-14 10:18